在线考试系统的数据库设计

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(含源码及数据库文件)

基于Web在线考试系统的设计与实现

C#+JavaScript+SQL Server实现Web端在线考试系统 五:考试模块设计(附源码和资源)

系统架构设计师考试20171111试题回顾

在线考试系统设计+源码