我正在创建一个在线考试门户网站。
在数据库中,我可以用两种方式表示问题和答案:
问题表和答案表,问题与答案之间存在一对多关系。
每个答案都有列的问题表。
一个问题可以有最大值。四种选择。
1和2中哪种设计更好?
答案 0 :(得分:3)
选项1更好。这很简单。对于选项2,例如,您将有4个不同的列名称,您需要语句,如:
WHERE "this answer" = column1 OR "this answer" = column2 ... etc.
非常难看和讨厌。如果你想在列上添加一个索引,你会变得更糟,但你不会在这里。
此外,关系数据库旨在与标准化设计一起使用,此处具有一对多关系。当你想要修改它时,你会发现更多的支持,特别是如果你为每个答案添加属性。