0

假设我们有一个课程表和两个选择题(MCQ)普通问题(NQ)的表。

每门课程可以有多个 MCQ 和 NQ。我应该跟踪他们的数字,以显示给学生并用于统计目的。

我怎样才能连接它们?我应该在问题和课程之间使用中间表(比如考试标签)来跟踪每种考试类型,但一位朋友告诉我使用序列(例如在 Postgres 中)等。

你有什么推荐的??

4

3 回答 3

1

每个 MCQ 和 NQ 可以出现在一门以上的课程中吗?如果是这样,您需要一个包含问题和课程外键的映射表。如果任何给定的问题只能由一门课程使用,只需让它在问题表中保存课程的外键。

在这种情况下,我看不到序列的适用性...

于 2012-07-18T21:26:03.510 回答
1

您将需要另一个表来保存课程表和问题表中的外键,然后如果您只想跟上计数,请添加另一个可以增加的列。为每种类型的测试问题准备一个关联表。

于 2012-07-18T21:29:35.980 回答
1

序列只是单调递增数字的生成器。我看不出它在这里如何应用(除了生成代理 PK 值)。

您需要的可能与此类似:

在此处输入图像描述

注意:我只讨论了这个模型中的问题——存储答案需要额外的数据结构。

在此处输入图像描述符号表示类别(又名继承、子类、泛化层次结构等)。在物理数据库中实现它有3 种主要策略。查看ERwin 方法指南中的“子类型关系”一章了解更多信息。

于 2012-07-19T08:47:18.337 回答