Database design eTickets数据库设计

Database design eTickets数据库设计,database-design,e-commerce,Database Design,E Commerce,用户可以创建一个订单,并且一个订单可以用于多个Eticket。每张票都需要自己的一行。此外,例如,如果用户决定升级其eTicket,则可以将后续订单分配给已存在的eTicket 因此,如果我有订单的标准结构和订单详细信息,我如何将一个eTicket与支付它的订单相关联 我不认为仅仅将订单分配给一个eTicket就行了,因为如果订单是针对多个eTicket的,而每个eTicket是针对不同的事件的,比如说,如果该信息已经存储在order detail行中,那么您如何知道eTicket是针对哪个事件

用户可以创建一个订单,并且一个订单可以用于多个Eticket。每张票都需要自己的一行。此外,例如,如果用户决定升级其eTicket,则可以将后续订单分配给已存在的eTicket

因此,如果我有订单的标准结构和订单详细信息,我如何将一个eTicket与支付它的订单相关联

我不认为仅仅将订单分配给一个eTicket就行了,因为如果订单是针对多个eTicket的,而每个eTicket是针对不同的事件的,比如说,如果该信息已经存储在order detail行中,那么您如何知道eTicket是针对哪个事件的呢?记得。。。一个订单可以是多个eTickets

编辑

这就是我现在得到的

命令 医嘱ID PK

产品 ProductId PK, 事件ID FK

订单详情 OrderDetailId PK, OrderId FK, ProductId FK, 数量

电子指派 OrderDetailId FK, eTicketId FK

伊克基特 伊克基特峰

因此,如果用户为一个特定事件购买了三个Eticket,那么在结帐时会创建三个Eticket,并且每个Eticket都分配给订单详细信息。付款也可以在存款和余额之间进行分割,并且通过订单详细信息将两个订单分配给同一客户

现在我有这个工作,但我认为有一些不太正确的有关它!是否应该为订单详细信息指定一个订单?如果不是,它还会去哪里

编辑2

在其核心,电子商务引擎需要能够销售任何东西,而eTickets代表了通过创建数据交付的产品的一种特殊情况,因此我需要订单的详细信息。此外,对于不代表固定住宿的eTickets,订单详细信息上的数量给出了可以进入相应单个eTicket的人数。当住宿条件固定时,例如在度假营购买小屋时,订单细节上的数量给出了小屋的数量,每个小屋都有自己的房间

这已经运行了一段时间了。。。我想我只是在寻找一些关于设计的反馈,这似乎需要一些棘手的问题


例如,给定一些事件,我如何计算出它用于哪个事件?我需要将三个连接从eCitket表连接到product表,如果有多个订单分配给eCitket,这将返回多行,这意味着我需要执行某种类型的前1个子查询或聚合查询来获取值。

可能是这样的吗?通过这种方式,如果eTicket发生更改,您可以将
ticket\u父项
更新为以前的
ticket\u id

编辑1

在您的编辑之后,以下是我的想法:


你不需要数量,因为它可以通过订单的数量来计算。我不认为需要详细的订单表,因为您可以将其汇总到单个订单中。此外,您当前的设置不会跟踪系统的更改。我对图表所做的唯一修改是添加
Product
表。我会提出这样一个问题:事件是属于票据还是订单,然后可能会将
event\u id
移动到
order
表中。

这很有趣。。。因此,实际上,订单细节变成了一个问题!所以,如果我想让这个引擎也能够与t恤衫和其他东西一起工作,那么您是否会添加一个订单明细表,但不将其用于eTickets?(更改跟踪目前通过检查分配给eTicket的最新订单详细信息来完成。)@IanWarburton您打算对eTickets&shirts使用相同的系统吗?是的。我希望它成为标准电子商务引擎的核心,但它的基础是一些可交付物的虚拟能力。i、 e.埃克特斯;)我在问题中添加了更多信息。。。显然,逐渐透露这些细节对你有点不公平!