假设我们有一个课程表和两个选择题(MCQ)和普通问题(NQ)的表。
每门课程可以有多个 MCQ 和 NQ。我应该跟踪他们的数字,以显示给学生并用于统计目的。
我怎样才能连接它们?我应该在问题和课程之间使用中间表(比如考试标签)来跟踪每种考试类型,但一位朋友告诉我使用序列(例如在 Postgres 中)等。
你有什么推荐的??
假设我们有一个课程表和两个选择题(MCQ)和普通问题(NQ)的表。
每门课程可以有多个 MCQ 和 NQ。我应该跟踪他们的数字,以显示给学生并用于统计目的。
我怎样才能连接它们?我应该在问题和课程之间使用中间表(比如考试标签)来跟踪每种考试类型,但一位朋友告诉我使用序列(例如在 Postgres 中)等。
你有什么推荐的??
每个 MCQ 和 NQ 可以出现在一门以上的课程中吗?如果是这样,您需要一个包含问题和课程外键的映射表。如果任何给定的问题只能由一门课程使用,只需让它在问题表中保存课程的外键。
在这种情况下,我看不到序列的适用性...
您将需要另一个表来保存课程表和问题表中的外键,然后如果您只想跟上计数,请添加另一个可以增加的列。为每种类型的测试问题准备一个关联表。
序列只是单调递增数字的生成器。我看不出它在这里如何应用(除了生成代理 PK 值)。
您需要的可能与此类似:
注意:我只讨论了这个模型中的问题——存储答案需要额外的数据结构。
该符号表示类别(又名继承、子类、泛化层次结构等)。在物理数据库中实现它有3 种主要策略。查看ERwin 方法指南中的“子类型关系”一章了解更多信息。