「Question」というデータベーステーブルについてサポートが必要です。主キーに関しては、以下の2つのうちどちらが優れているか知りたいです。
質問表の方法1:
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ではありませんが、自動インクリメントです。
質問表の方法2:
QuestionId (int 3)
SessionId (varchar10)
QuestionContent (varchar800)
NoofAnswers (int 3)
AnswerId (int 5) Auto Increment PK
Marks (int 3)
上記の表では、AnswerIdのみがPKと自動インクリメントです。しかし、そうすると、QuestionIdを含む他のテーブルが、このテーブルのQuestionIdに非キーなどとしてリンクする必要があることを意味します。
データベースは、AnswerIdが自動インクリメントであるため、他の主キーが不要であると言っているため、QuestionId、SessionId、およびAnswerIdのPKを実行できません。