我创建了以下表格:
动漫(id,title,date),漫画(id,title,date),TVSeries(id,title,season,episode,date)
其中一些人已经拥有导演,流派,文章等的外键(一对多或多对多关系)。
现在我想再创建两个表评论(id,评级,日期)和帖子(id,thumbid,articleid,reviewid)。 评论是关于一个动漫和/或漫画TVSerie,反之亦然,但评论的属性可能在多个表中。关于帖子也一样。
这是单独表中一对一关系的典型示例,还是更有效地向现有表添加更多属性? 所以更多的表和关系或更少的表更多列?
谢谢你,我希望我的问题不是那么愚蠢,但我有点困惑。
答案 0 :(得分:2)
在我看来,最好避免一对一关系的外键关系。它最适合一对多的关系。
答案 1 :(得分:1)
我不确定您的要求是什么,但选择如下:
评论有2列,可以是适用表的外键,也可以是NULL。当单一评论可以同时进行时,这非常适用。
有一个ReviewsComics和ReviewsAnime表。然后,您将拥有每个表中的评论的所有字段(并且没有评论表)。
另一种选择(2)是将它们与评论表一起使用,那么这两个表只有2个字段,分别是评论和漫画/动漫的外键(因此评论和漫画之间没有直接链接) /动画)。
有一个基本表格,Anime和漫画与1对1相关联,并且评论链接到该表格。
(编辑)如果Anime / Comics的所有字段都相同(或类似),您可以将它们合并到一个表中并添加一个类型字段,表示Anime / Comics,然后是问题消失了。这类似于基表选项。
编辑:2个评论表可能会提供最佳表现(除非你想经常选择所有评论),但如果有适当的指数,表现不应该是上述任何一个问题。