我目前正在从事一个项目,我实际上是在创建一个测验应用程序。它将能够进行具有多项选择或简答题的测验,题目介于 10 到 20 个之间。它需要有能力将用户的答案与正确答案进行对比,然后对用户的答案进行评分。
稍后,我可能会实现一个后端功能来在线创建测验,但现在我将把它留给直接使用数据库。
现在我的问题..我很迷茫如何设计我的数据库和表以允许所有功能。这是我目前的设置方式:
测验表
- 名称行
- 标识行
问题表
- 标识行
- 对应的测验 ID 行
- 实际问题文本行
答案表
- 对应的测验 ID 行
- 对应的问题 ID 行
- 实际答案文本行
- if_correct_answer 行
所以每个测验都有自己的 id,然后每个问题都有自己的 id 以及它的父测验 id,然后答案将有一个父测验 id 和一个父问题 id。
截至目前,我的“正确答案”问题以这种方式运行:如果他们选择正确答案,if_correct_answer 行的值将大于 0,然后最后他们所有答案的值将相加,这就是他们做对了多少。
这是设计我的数据库的好方法吗?我在这里的另一篇文章中看到了基本思想,但我不确定我是否完全理解或正确使用它。我基本上只是对如何协调所有不同的ID感到困惑。(我是 mySQL 和 PHP 的初学者,这可能没有帮助)