我在设计数据库架构时遇到了问题。
我对是分开还是分组表有疑问。
我的应用程序和数据库中有一个博客和一个新闻部分。两者都会收到评论和点赞。
TABLE.BLOG | TABLE.COMMENTS.BLOG | TABLE.LIKE.BLOG
TABLE.NEWS | TABLE.COMMENTS.NEWS | TABLE.LIKE.NEWS
我分享一切?
TABLE.BLOG | TABLE.NEWS
TABLE.COMMENTS | TABLE.LIKE
还是应该将评论分组?
如果我应该有某种引用类型的博客 |新闻?
我对构建数据库的最佳方式感到很困惑。
如果有人可以帮助我,我将不胜感激。
最佳答案
虽然确切的布局主要取决于您访问和使用数据的方式,但将评论和点赞放在同一个表格中可能会更好。您的第二种方法很接近,尽管我可能会介绍第三个表,称为 CONTENT
,其中包含可以点赞或评论的任何内容的 ID。
NEWS
和BLOG
表中的每一行在CONTENT
表中都有对应的行。 CONTENT
行可以对应于 NEWS
或 BLOG
,但不能同时对应两者。 CONTENT
表具有博客和新闻共有的属性(日期、标题、作者等)。
LIKE
和 COMMENT
表将连接到 CONTENT
表,因此您不需要为 NEWS
和 BLOG
。
这是一个例子:
关于sql - 构建数据库表的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20714364/