我什么时候应该使用新表?

Yok*_*ker 4 database-theory

如果数据库要保存大量例如音乐会的门票,我是否应该为每场音乐会制作一张新表,然后保留一张将场地与音乐会连接起来的表?

我希望每场音乐会的每张票 ID 从 1 开始,而不是每张票的总和。

或者我应该把它们放在一张桌子上,并有 2 个单独的列用于(票号)和(该事件的票号)?

Fru*_*ner 9

您的第二个选择是更好的解决方案。向tickets表中添加一个新列,名为ticket_concert_number。对于每个新 Concert 从 1 开始的逻辑可能最好在您的应用程序中进行控制。您还应该有一个名为的列,concert_id以便您知道门票适用于哪场音乐会。

如果您为每场音乐会创建一个新表,您将很快用许多记录相对较少的表填充数据库。这可能会导致性能问题(与正确索引的单个表相比)。如果表结构发生变化,您需要决定是否要将结构更改传播到所有现有表,如果不这样做,您将需要意识到您将不得不这样做的事实tickets根据它们所基于的原始结构的“版本”,以不同的方式查询所有旧表。然后,您还必须考虑在为每个新音乐会生成表格时,您的应用程序如何找到正确的表格。