Xai*_*oft 1 sql-server database-design data-modeling
我正在创建一个简单的博客应用程序,到目前为止,我有3个表,帖子,评论和作者.
我将列出每个表的主键以及外键.
帖子将包含postid作为主键.
评论将包含commentid作为主键并将postid作为外键.
帖子与评论有0到多的关系.
作者将包含authorid作为主键.
作者将与帖子建立多对多的关系,并与评论建立多对多的关系.
最后一个陈述是我遇到的最麻烦的地方.作者实际上是否与帖子和评论存在多对多的关系,或者它是一对一的.如果它是多对多的,我听说有一个中间表描述帖子 - 作者和评论 - 作者之间的关系是一个好主意,但我不确定我会在这个表中使用哪些键?
如果我口头表达它作为一个作者可以写很多帖子,很多帖子都可以由一位作者写,我把它看作一对多,但是如果我从表中存储的实际数据中查看它会包含多个帖子帖子和作者将包含多个作者,然后它似乎是多对多的,因此这是交叉引用表的用途,用于删除重复项.
我认为作者发帖/评论将是一对多的关系,除非你打算支持一个帖子可能有多个作者的情况.也许这是有道理的,但似乎不太可能很多人会使用它.对于可能有0.1%的用户需要的功能,我不会打扰我的架构复杂化.
只需将authorId放在帖子和评论表上,你就应该好好去.