数据库设计 - 一个表中的列引用两个表

Mar*_*tin 5 database database-design foreign-key-relationship

这是我的一个例子(采用Stack Overflow).我有2张桌子,QuestionsAnswers.我也有一张Comments桌子.评论表将引用问题和答案.

我该如何设置数据库?在Comments,QuestionId和AnswerId中有2列.有一个问题和答案的表?介于两者之间,以某种方式告诉我问题或答案?

编辑:找到SO数据资源管理器,它使用一个表来解决问题和答案...我只是不喜欢POSTS有这么多NULLS 的表.这会产生任何负面影响吗?

OMG*_*ies 2

StackOverflow 将问题和答案建模为同一实体:POSTS。除了指示接受/授予的答案之外,它们具有相同的属性。

评论有自己的表,并使用外键 - post_id.

无需加载每月的 SO 转储,您可以通过 StackExchange Data Explorer 查看(和查询)SO 架构