【发布时间】:2017-09-27 10:46:33
【问题描述】:
不确定这个问题是属于这个网站还是属于其他一些问题(如果不是,请指出正确的问题)。
我正在尝试为 LMS 类型的系统设计测验模块。本题与数据库设计有关。
我目前的设计:
数据库
1) 问题:多项选择
[id, question_text]
2) 答案:以上问题的可能选项[question_id, answer_text, correct?]
3) 测验:测验由问题组成。它们还与各种主题相关。某些测验类似于阅读理解(一个段落,然后是一组问题),其他只是带有问题的简单测验[id, questions, description, topic]
4) 主题:测验所属的主题。目前每个测验只属于一个主题。 [id, topic_name]
5) 测验响应:它们存储 quiz_id、问题响应、收到的分数和所用时间。 [id, quiz_id, user_id, correct, time_taken]
应用逻辑
1) 测验、问答是存储信息的通用结构
2) 要显示测验,我们获取问题集,查看其关联标签并运行基于标签的显示逻辑(所有与阅读理解相关的测验等显示测验描述,其中包含段落,然后问题;其他测验只显示问题和答案)
问题
1) 这是设计应用程序的正确方法吗?或者有没有更好的方法我能想到(将测验分成各种类型的子表等)
2) 我想为网站添加书签。用户将问题添加为书签,然后可以在单个屏幕上查看这些问题。这里的问题是与 RC 测验相关的问题也应该获取测验段落以供显示。在这种情况下,最好的方法是什么?
我能想到的选项
将段落详细信息放入单独的表格中,并将其 ID 存储在测验和相关问题中。这里的问题是浪费了空间(因为只有一小部分问题是 RC)。
专门为 RC 重新创建上述表格集(测验、问题)。大量重复:/
任何有此主题的经验或知道像moodle这样的组织如何处理这些情况的人?
【问题讨论】:
标签: database-design architecture moodle application-design