我需要一个名为“问题”的数据库表的帮助。当涉及到主键时,我想知道以下两种布局中哪种布局更好:
题表法一:
QuestionId (int 3) PK
SessionId (varchar10) PK
QuestionContent (varchar800)
NoofAnswers (int 3)
AnswerId (int 5) Auto Increment
Marks (int 3)
上表中,QuestionId 和 SessionId 是 PK(主键),AnswerId 不是 PK,而是自增。
题表方法二:
QuestionId (int 3)
SessionId (varchar10)
QuestionContent (varchar800)
NoofAnswers (int 3)
AnswerId (int 5) Auto Increment PK
Marks (int 3)
在上表中,只有 AnswerId 是 PK 和自增。但是,如果我这样做,则意味着包含 QuestionId 的其他表将必须链接到该表的 QuestionId 作为非键或类似的东西。
数据库不允许我对 QuestionId、SessionId 和 AnswerId 进行 PK,因为它说 AnswerId 是自动递增的,因此不需要任何其他主键。