我为在线考试模块创建了一个优化的数据库。
我有两个选择:
我将问题,选项和答案存储在同一行中的模式。
表:问题 Col:q_id,question,opt1,opt2,opt3,opt4,opt5,ans
每个操作我有3个不同表格的模式。
表:问题 Col:q_id,问题
表:选项 Col:q_id,opt_id,option
表答案 Col:q_id,ans
答案 0 :(得分:0)
架构2更符合你应该瞄准的目标。
答案 1 :(得分:0)
可能有第三种选择:
q_id | question | options | answer
其中option列的类型为text,并存储序列化数组或json。
对于您提供的2个选项:第二个世界是首选武器
答案 2 :(得分:0)
我会使用模式2,因为它允许您添加任意数量的答案。
然而,您可以将答案table
合并到options
表格中。
q_id | opt_id | option | correct
通过这种方式,每个问题也可以有多个正确答案。
答案 3 :(得分:0)
架构2将是更好的选择。
但是,如果您确定每次都可以设置一定数量的问题,您可能需要考虑将表格“问题”和“选项”合并为一个,并且每个用户的答案都不同。
答案 4 :(得分:0)
如果答案数量固定,则架构1会更好
但如果问题可能有任何数量的答案,那就更好了
question_id,question,answer_id_of_the_solution
answer_id,question_id,answer