我正在整理一个问题和答案申请 - 只要存在与之相关的问题,答案才会存在。
所以我决定不给答案表它自己的id列,并使主键成为与question_id相关的外键。
问题表:
id | title
答案表:
question_id | title
我应该这样保留它还是给答案表它自己的id列?
答案 0 :(得分:1)
如果单个问题可能有多个答案,那么最好在answer
表上设置一个主键,以便在我们得到重复答案时唯一地标识每一行
id | question_id | title
1 1 5
2 1 5
3 2 true
但是,如果您预计每个问题只有一个答案,那么最好将其合并到question
表,因为问题和答案都直接依赖于单个主键。
id | question | answer
1 quest 1 ? 5
2 quest 2 ? 5
3 quest 3 ? true
4 quest 4 ? null
我希望,这可以澄清你的怀疑。
答案 1 :(得分:1)
根据我的经验,对两个有价值的评论进行阐述,以下是定义数据库模式时要遵循的最有效的规则集(我将在之后给出理由):
理由(按相同顺序):