首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复杂嵌套RoR预订系统的性能问题

复杂嵌套RoR预订系统的性能问题
EN

Stack Overflow用户
提问于 2012-01-11 11:10:08
回答 1查看 375关注 0票数 0

我正在为我们的小旅行社设计一个Ruby on Rails预订系统。它需要容纳许多东西,并且表结构变得相当复杂。

以前有没有人遇到过类似的问题?我可能会遇到什么样的问题?性能/验证是否可能成为问题?

简单地说,我有一个客户表和一个预约表。当客户与我们联系询问时,将建立预订,并添加相关信息(例如,已支付/开具发票、需要交通工具、需要酒店等)。

到目前为止一切都很好,但这就是它变得复杂的地方。在每个预订下,客户可以预订不同的套餐(例如一日游、长途旅游、培训课程)。它们非常不同,需要特定的信息,而且数量有限,因此我认为它们都应该有不同的模型。

此外,一个客户可能有几个人在他的团队中。这将导致customer表和预约表之间以及customer表和package表之间的链接。

因此,如果客户A为客户A、B和C预订了一次长途旅行,并为客户B预订了一个培训课程,那么应该是这样的。

代码语言:javascript
复制
CUSTOMERS TABLE
CustomerA
CustomerB
CustomerC
CustomerD
CustomerE
etc

RESERVATIONS TABLE
1. CustomerA

LONG TRIP BOOKINGS
CustomerA - Reservation_ID 1
CustomerB - Reservation_ID 1
CustomerC - Reservation_ID 1

TRAINING COURSE BOOKINGS
CustomerB - Reservation_ID 1

这是一个非常简单的例子,并且省略了一些细节。例如,会有一个包含培训课程细节的模型,一个包含长途旅行细节的模型,一个包含长途旅行计划的模型,等等。但这些细节不应该影响我的问题。

我想知道的是:

1)在将customer表链接到预订模型以及嵌套在预订下的预订模型时,有没有我应该注意的问题。

2)如果我需要处理有关预订本身的信息(包括发票)以及有关特定套餐预订的信息,这是最佳方法吗?

一方面,这种方法似乎很复杂,但另一方面,将所有内容简化到单个包模型中似乎不能提供足够的灵活性。

如果我没有很清楚地解释这个问题,请告诉我,我很乐意提供更多的信息。感谢您的任何想法,建议或意见,这将有助于我思考这个相当复杂的数据库设计。

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-11 11:27:42

我已经为旅游运营商和批发商建立了一个大型预订系统,我可以告诉你,这并不容易。在预订的产品种类上似乎有相似之处,但仍然有很大的不同。此外,日期敏感度与其他系统有很大的不同。

1)关于“客户”,我通常使用不同的模型来表示不同的概念。你真的有:

  • a.为booking
  • 支付费用的个人/公司b. Contact Person for c
  • c. People travelling

A和b看起来是一样的,但如果你有一个代理预订,那么你可能想要分开他们。

我通常使用=> 'customer‘表,然后对b使用一些简单的联系人字段,最后对c使用'passengers’表。可以将它们设置为同一模型的不同关联,但我认为它们足够不同,我倾向于将它们分开-也许使用一个通用的地址/联系人模型。

2)我认为这很好,但取决于您的需求。如果您正在为旅行者建立行程,那么在“预订”上设置“乘客”是有意义的,然后为单独的行程项目设置链接,并将其链接到正在使用该项目的乘客。

这比较复杂,您必须小心跟踪相关性,但另一种方法是不跟踪乘客姓名,而是简单地为每个项目分配数量(1xAdult,2xChild)。后一种方法对于小规模预订非常有用,因此它似乎取决于您的预订是简单的,还是通常是由较长的行程组成的。

其他)此外,对于不同产品类型的不同型号,这可以很好地工作。然而,往往会有很多交叉,所以某种公共的“资源”模型可能会更好--或者其他一些捕获公共行为的方法。

如果我还没有回答您的问题,请提出更具体的数据库设计问题,或者我可以添加更多关于我发现运行良好的特定示例的详细信息。

祝你在设计上好运!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8813696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档