我想知道我的数据库设置是否足以进行多项选择测验。如果有更好的方法来解决这个问题,请告诉我。
tbl_user(ID,name,clerical_score,numerical_score,verbal_score)
tbl_quiz(身份证,文书,数字,口头)
tbl_question(ID,FK:quiz_ID,问题)
tbl_answer(ID,FK:question_ID,choice_1,choice_2,choice_3,choice_4,correct_answer)
答案 0 :(得分:0)
根据您的架构,tbl_question-tbl_answer之间的关系将是一对一的。因此,最好将两个表组合成一个: tbl_question (ID,FK:quiz_ID,questionn,choice_1,choice_2,choice_3,choice_4,correct_answer)
答案 1 :(得分:0)
根据您的情况,我建议: -
USER_TABLE(USER_ID(primary_key),USER_NAME,clerical_score, numeric_score,verbal_score,total_score);
clerical_table(c_question_id,(primary_key),c_questions,c_option1, c_option2,c_option3,c_option4,marks);
numerical_table(n_question_id,(primary_key),n_questions,n_option1, n_option2,n_option3,n_option4,marks);
verbal_table(v_question_id,(primary_key),v_questions,v_option1, v_option2,v_option3,v_option4,marks);
- >现在请记住,keep1始终在所有三个表中都正确。 - >因此,当您在显示选项期间从表中获取选项时,请使用" RANDOM"功能,以填补选项甚至改变问题 为每个候选人开始新的seccsion时。 - >为了匹配正确的选项,只需选择候选人选择的网页中的密钥,并将其与表格的option1匹配 为了正确。
答案 2 :(得分:0)
为什么tbl_quiz
中的测验类型有三个字段?它期望像tbl_quiz(ID, quiztype_id)
之类的东西。
而不是后者,您可能还会存储所有答案,而不是汇总结果:
如果你想在将来允许不同数量的答案选择,你可以用
替换tbl_question