我正在使用SQL制作一个示例预订应用程序,其中用户购买事件的门票,其中每个事件都有一个位置和一个执行者。
到目前为止,我正计划创建一个大型事件表,其中每行都有表演者、位置、票的数量,以及引用每个事件的票证表的键。这些特定于事件的票证表将有包含event_ID、customer_ID和票证编号的行。
地点、表演者和客户详细信息将是他们自己的桌子。
唯一的问题是,如果客户想要查询自己拥有的门票,就必须在每个活动票表中搜索他们的customer_ID。我唯一能想到的是,在每个客户之间都有一张小桌子,上面只包含他们购买的机票号码,但我希望有其他方法可以避免重复。
我如何优化这样的服务模型,使其所有功能尽可能高效?(特别是拥有客户->票的查询)
谢谢
发布于 2014-09-13 06:51:52
我想你回答了你自己的问题。每一项活动的单张票似乎并不是一条路。您需要一张票表,其中有一列用于EventId
以及其他信息。
通常,如果您有一个数据模型,其中添加一个额外的实体需要添加一个表,那么您就没有一个好的数据模型。在您的示例中,添加新事件将需要为事件添加一个新的事件票表。如果性能是个问题,关系数据库有很多改进大型表查询性能的工具。
添加表而不是行的一些问题:
https://stackoverflow.com/questions/25824296
复制