fat*_*ike 7 mysql database one-to-one relational-database
我创建了以下表格:
动漫(id,标题,日期),漫画(id,标题,日期),TVSeries(id,title,season,episode,date)
他们中的一些人已经拥有导演,流派,文章等的外键(一对多或多对多的关系).
现在我想再创建两个表评论(id,评级,日期)和帖子(id,thumbid,articleid,reviewid).评论是关于一个动漫和/或漫画TVSerie,反之亦然,但评论的属性可能在多个表中.关于帖子也一样.
这是单独表中一对一关系的典型示例,还是更有效地向现有表添加更多属性?所以更多的表和关系或更少的表更多列?
谢谢你,我希望我的问题不是那么愚蠢,但我有点困惑.
我不太确定您的要求是什么,但选择如下:
评论有 2 列,要么是适用表的外键,要么是 NULL。这确实适用于一次评论可以同时涉及两者的情况。
有一个 ReviewsComics 和 ReviewsAnime 表。然后,您将在每个表中拥有评论中的所有字段(并且没有评论表)。
另一种方法 (2) 是将它们与评论表结合使用,那么这 2 个表只有 2 个字段,分别是评论和漫画/动漫的外键(因此评论和漫画/动漫之间没有直接链接)。
拥有一个基表,动漫和漫画与该表一对一链接,并让评论链接到该表。
(编辑)如果动漫/漫画的所有字段都相同(或相似),您可以将它们合并到一个表中并添加一个类型字段,指示动漫/漫画,然后问题就消失了。这与基表选项类似。
编辑: 2 个评论表可能会提供最佳性能(除非您经常想选择其中任何一个评论的所有评论),但使用适当的索引,性能不应该成为上述任何一个的问题。
归档时间: |
|
查看次数: |
1703 次 |
最近记录: |