有一张大桌子或者我应该使用几张桌子更好吗?

时间:2011-02-05 09:43:37

标签: mysql database-design

我正在构建一个包含许多数据对象的新应用程序,每个数据对象都需要“历史记录”或注释。在过去,我刚刚创建了一个名为notes的数据库表,并且有许多外键附加到不同的对象。这次我想要别人的想法。使用一个不断增加auto_inc ID的表是一种好的做法/高效,还是应该维护不同的[object]_notes类型表?

N.B。 Notes对象本身将始终相同,主题,文本,日期等。

2 个答案:

答案 0 :(得分:1)

我只用了一张桌子。我假设我们不是在谈论历史笔记?

如果没有,那么1表就可以了

答案 1 :(得分:0)

我认为你问的问题是,自动递增ID是否与复合自然键一样好,或者是由2个实体组成的键。

除非你有充分的理由这样做,否则我会坚持自动增量主键,它有一个独特的索引,因此针对读取查找进行了优化。您仍然可以对复合键执行索引。有些人实际上更喜欢它,因为它可以说它使关系变得更加清晰。通过在每个表上没有额外的列来清理,但对于小型应用程序和数据集,我不担心这一点,只需使用自动增量选项。