繁体   English   中英

一对一的关系或使用相同的表?

[英]One-to-One Relation or Use the Same Table?

我创建了以下表格:

动漫(id,标题,日期),漫画(id,标题,日期),TVSeries(id,title,season,episode,date)

他们中的一些人已经拥有导演,流派,文章等的外键(一对多或多对多的关系)。

现在我想再创建两个表评论(id,评级,日期)和帖子(id,thumbid,articleid,reviewid)。 评论是关于一个动漫和/或漫画TVSerie,反之亦然,但评论的属性可能在多个表中。 关于帖子也一样。

这是单独表中一对一关系的典型示例,还是更有效地向现有表添加更多属性? 所以更多的表和关系或更少的表更多列?

谢谢你,我希望我的问题不是那么愚蠢,但我有点困惑。

在我看来,最好避免一对一关系的外键关系。 它最适合一对多关系。

我不确定你的要求是什么,但选择如下:

  1. 评论有2列,可以是适用表的外键,也可以是NULL。 当单个评论可以同时进行时,这是真的。

  2. 有一个ReviewsComics和ReviewsAnime表。 然后,您将拥有每个表中的评论的所有字段(并且没有评论表)。

  3. 另一种选择(2)是将它们与评论表一起使用,那么这两个表只有2个字段,分别是评论和漫画/动漫的外键(因此评论和漫画/动画之间没有直接链接)。

  4. 有一个基本表,动漫和漫画链接到1对1,并有评论链接到该表。

  5. (编辑)如果Anime / Comics的所有字段都相同(或相似),您可以将它们合并到一个表中并添加一个类型字段,表示Anime / Comics,然后问题就消失了。 这类似于基表选项。

编辑:2评论表可能会提供最佳表现(除非您想要选择所有评论,经常),但如果有适当的指数,表现不应该与上述任何一个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM