在线考试系统的数据库设计
Posted
技术标签:
【中文标题】在线考试系统的数据库设计【英文标题】:Database design of online exam system 【发布时间】:2010-12-18 08:09:48 【问题描述】:我正在设计一个简单的在线考试系统数据库。但我不知道应该如何存储问题和答案。我认为问答是不同的实体。同一个问题集中会有 MCQ 和简短问题,并且一组问题的数量可能是动态的(由教师选择)。
【问题讨论】:
你的问题太模糊了。您当前的架构是什么样的?您在哪里遇到问题? 考虑为您之前的问题选择一些答案。如果你不给他们信任,这里的许多用户不会帮助你。 【参考方案1】:我看到你正在寻找这样的东西:
-
用户表 - 将回答问题的每个人。它将包含 UserId 和其他个人资料信息 - 姓名、班级、照片等。
问题表 - 包含由 (userid) 创建的 questionid 和问题文本
AnswerOption - 它将具有 optionid、问题链接、答案文本选项
UserAnswer - 它将包含 useranswerid、questionid、optionid
例如,您有这个问题:“2*2 是多少?”答案选项是“4”、“5”、“6”。
在这种情况下,问题表中有 1 条记录,AnswerOption 表中有 3 条记录。
现在,当有人回答问题时,您会在 UserAnswer 表中插入一条记录,其中包含相应的 userid、questionid 和 optionid。
这是你一直在寻找的吗?
当然,您还应该考虑如何在测试等中对问题进行分组。
【讨论】:
【参考方案2】:由于您有多项选择题(我认为是 MCQ),因此您需要仔细考虑 MCQ 中的备选方案是问题的一部分还是带有状态的答案(错误,正确答案的一部分,正确的)。如果一个问题有多个答案,请将它们放在单独的表格中。如果一个问题只有一个答案,请将它们放在一个表格中。
【讨论】:
【参考方案3】:从最小的物品开始。一个问题可以有多个答案选择,其中一个很好。所以你可以有一个答案表。
回答: 答案ID 问题ID 选择 文本 好(布尔限定符)
问题: 问题ID 文本 积分
这只是一个建议。这一切都取决于你想做什么。但首先,您按类别列出您的项目是什么。喜欢活页纸。
【讨论】:
以上是关于在线考试系统的数据库设计的主要内容,如果未能解决你的问题,请参考以下文章
数据库课程设计 在线考试管理系统 大作业论文+源程序+数据库
springboot+vue计算机毕业设计javaweb在线考试系统设计与实现web(含源码及数据库文件)