为在线考试门户创建关系数据库表

Creating relational database tables for online exam portal

我正在创建在线考试门户。

在数据库中,我可以用两种方式表示问题和答案:

  1. 一个问题 table 和一个答案 table,问题和答案之间存在一对多关系。

  2. 问题 table 每个答案都有列。

一个问题最多可以有。四个选项。

设计 1 和设计 2 哪个更好?

选项 1 更好。这是简单的归一化。使用选项 2,例如,您将有 4 个不同的列名,并且您需要如下语句:

WHERE "this answer" = column1 OR "this answer" = column2 ... etc.

非常丑陋和烦人。如果您想在列上放置索引但没有在此处放置索引,情况会变得更糟。

此外,关系数据库旨在与规范化设计一起工作,这里是一对多关系。当您尝试修改它时,您会发现更多支持,特别是如果您为每个答案添加属性。