0

我有一个包含数千本书(标题、年份、作者等)的数据库表。用户可以将他们已阅读的书籍添加到列表中。如果数据库中不可用,我想让他们能够添加他们拥有的书籍,并且它们仅适用于该用户。我应该创建一个新表,还是只将他们的书籍添加到带有“is_custom”和“user_id”列的主表中?第二种方式对我来说似乎更容易管理(例如,在搜索方面,加入两个表似乎很愚蠢..),但我问的是因为(我的书和用户的书)都会变得非常大..

谢谢!

4

2 回答 2

0

我会首先设计简单性和可维护性,并且只有在您知道有问题时才引入性能改进。

“相当大”对不同的人意味着不同的事情——但如果你必须解决这个问题,如果你将数据拆分到两个表中,你可能需要解决两次,或者——可能更糟——有不同的管理解决方案“books”表比“userBooks”表。

于 2012-04-13T10:11:30.143 回答
0

理论上最好的方法是为一个实体使用一个表。所以变体 1.“用户” - 通过链接表(多对多)的另一个表。您自己的书籍归预定义的固定用户所有(更好,或者没有用户链接)。

在 OOP 数据库中,您可以使用父表和两个子表。但乍一看,你的情况甚至不需要。

于 2012-04-13T10:08:08.243 回答