我有一个数据模型如下...
- 一个主题可以有多个练习(ExerciseTopic(FK) 引用 TopicId(PK))
- 一个练习可以有多个问题(练习(FK)引用练习Id(PK))
- 一个问题可以有多个 (4) AnswerChoices
我想为 AnswerChoices 表设置一个由三部分组成的主键,因为这种组合将唯一地标识每个选择。
- 出于数据完整性目的,我是否需要在 AnswerChoices 表中使用外键或
- 复合主键就足够了吗?如果需要外键,它会是两部分复合外键(ExerciseId,QuestionId)吗?
样本数据 ...
- 主题(T1)
- 练习 E1
- 问题 1(答案选择:a、b、c、d)
- 问题 2(答案选择:a、b、c、d)
- 问题 3(答案选择:a、b、c、d)
- 练习 E2
- 问题 1(答案选择:a、b、c、d)
- 问题 2(答案选择:a、b、c、d)
- 问题 3(答案选择:a、b、c、d)
- 练习 E3
- 问题 1(答案选择:a、b、c、d)
- 问题 2(答案选择:a、b、c、d)
- 问题 3(答案选择:a、b、c、d)
- 练习 E1
- 主题(T2)
- 练习 E1
- 问题 1(答案选择:a、b、c、d)
- 问题 2(答案选择:a、b、c、d)
- 问题 3(答案选择:a、b、c、d)
- 练习 E2
- 问题 1(答案选择:a、b、c、d)
- 问题 2(答案选择:a、b、c、d)
- 问题 3(答案选择:a、b、c、d)
- 练习 E3
- 问题 1(答案选择:a、b、c、d)
- 问题 2(答案选择:a、b、c、d)
- 问题 3(答案选择:a、b、c、d)
- 练习 E1