Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 具有跟踪考试类型能力的课程考试场景的数据库设计_Sql_Database_Postgresql_Database Design_Django Models - Fatal编程技术网

Sql 具有跟踪考试类型能力的课程考试场景的数据库设计

Sql 具有跟踪考试类型能力的课程考试场景的数据库设计,sql,database,postgresql,database-design,django-models,Sql,Database,Postgresql,Database Design,Django Models,假设我们有一个表格用于课程和两个表格用于多项选择题(MCQ)和普通问题(NQ) 每门课程可以有几个MCQ和NQ。我应该把他们的数字记录下来,展示给学生看,也用于统计目的 我如何连接它们??我本应该在问题和课程之间使用一个中间表格(比如考试标签)来记录每种考试类型,但一位朋友告诉我使用序列(例如在Postgres中),等等 你推荐什么 每个MCQ和NQ能否出现一个以上的疗程?如果是这样的话,您需要一个映射表来保存问题和课程的外键。如果任何给定的问题只能由一门课程使用,只需让它在问题表中保留课程的外

假设我们有一个表格用于课程和两个表格用于多项选择题(MCQ)普通问题(NQ)

每门课程可以有几个MCQ和NQ。我应该把他们的数字记录下来,展示给学生看,也用于统计目的

我如何连接它们??我本应该在问题和课程之间使用一个中间表格(比如考试标签)来记录每种考试类型,但一位朋友告诉我使用序列(例如在Postgres中),等等


你推荐什么

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


我看不出序列在这种情况下的适用性…

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


我看不出序列在这个场景中的适用性…

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

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

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

您需要的可能与此类似:

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

符号表示类别(又名继承、子分类、泛化层次等)。在物理数据库中实现它有很多方法。更多信息,请参阅中的“子类型关系”一章。

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

您需要的可能与此类似:

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


符号表示类别(又名继承、子分类、泛化层次等)。在物理数据库中实现它有很多方法。更多信息,请参阅中的“子类型关系”一章。

课程结构应该是分层的(更准确地说是MPTT)。通过分层,我的意思是有主题、子主题、课程等。。也许一个问题属于“生物学标准水平”和“生物学更高水平”。。。所以,通过映射表格,你们可以看到我脑海中的中间表格??差不多。这将是一个表,它只是将课程的主键映射到一个问题。因为许多课程都可能有相同的问题,所以你不能只存储课程ID和问题本身。课程结构应该是分层的(更准确地说是MPTT)。所谓分层,我的意思是有主题、子主题、课程等。是的。。也许一个问题属于“生物学标准水平”和“生物学更高水平”。。。所以,通过映射表格,你们可以看到我脑海中的中间表格??差不多。这将是一个表,它只是将课程的主键映射到一个问题。因为许多课程都可能有相同的问题,所以你不能只将courseID与问题本身一起存储。+1代表“ERwin方法指南”迷你书。。《埃尔文方法指南》迷你书充满灵感+1。。充满灵感