我有一个数据模型如下......
我想为AnswerChoices表提供一个三部分主键,因为这个组合将唯一地标识每个选项。
示例数据......
答案 0 :(得分:1)
看起来就像你在AnswerChoices中需要一个四列密钥:{TopicID,ExerciseID,QuestionID,ChoiceID}。表“AnswerChoices”应该有一个foreign key (TopicID, ExerciseID, QuestionID) references Questions (TopicID, ExerciseID, QuestionID)
。
答案 1 :(得分:0)
不需要是“或” 可以有复合和外国的 一个选项
Exercise:
PK TopicID FK to Topic
PK ExerciseID
Question:
PK TopicID FK to Exercise
PK ExerciseID FK to Exercise
PK QuestionID
AnswerChoices:
PK TopicID FK to Question
PK ExerciseID FK to Question
PK QuestionID FK to Question
PK ChoiceID
UserAnsers:
PK UserID FK to Users
PK TopicID FK to AnswerChoices
PK ExerciseID FK to AnswerChoices
PK QuestionID FK to AnswerChoices
PK ChoiceID FK to AnswerChoices
如果用户只能选择一个答案,那么请关闭ChoiceID