【问题标题】:Database design of online exam system在线考试系统的数据库设计
【发布时间】:2010-12-18 08:09:48
【问题描述】:

我正在设计一个简单的在线考试系统数据库。但我不知道应该如何存储问题和答案。我认为问答是不同的实体。同一个问题集中会有 MCQ 和简短问题,并且一组问题的数量可能是动态的(由教师选择)。

【问题讨论】:

  • 你的问题太模糊了。您当前的架构是什么样的?您在哪里遇到问题?
  • 考虑为您之前的问题选择一些答案。如果你不给他们信任,这里的许多用户不会帮助你。

标签: database database-design schema


【解决方案1】:

我看到你正在寻找这样的东西:

  1. 用户表 - 将回答问题的每个人。它将包含 UserId 和其他个人资料信息 - 姓名、班级、照片等。
  2. 问题表 - 包含由 (userid) 创建的 questionid 和问题文本
  3. AnswerOption - 它将具有 optionid、问题链接、答案文本选项
  4. UserAnswer - 它将包含 useranswerid、questionid、optionid

例如,您有这个问题:“2*2 是多少?”答案选项是“4”、“5”、“6”。

在这种情况下,问题表中有 1 条记录,AnswerOption 表中有 3 条记录。

现在,当有人回答问题时,您会在 UserAnswer 表中插入一条记录,其中包含相应的 userid、questionid 和 optionid。

这是你一直在寻找的吗?

当然,您还应该考虑如何在测试等中对问题进行分组。

【讨论】:

    【解决方案2】:

    由于您有多项选择题(我认为是 MCQ),因此您需要仔细考虑 MCQ 中的备选方案是问题的一部分还是带有状态的答案(错误,正确答案的一部分,正确的)。如果一个问题有多个答案,请将它们放在单独的表格中。如果一个问题只有一个答案,请将它们放在一个表格中。

    【讨论】:

      【解决方案3】:

      从最小的物品开始。一个问题可以有多个答案选择,其中一个很好。所以你可以有一个答案表。

      回答: 答案ID 问题ID 选择 文本 好(布尔限定符)

      问题: 问题ID 文本 积分

      这只是一个建议。这一切都取决于你想做什么。但首先,您按类别列出您的项目是什么。喜欢活页纸。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-08
        • 1970-01-01
        • 1970-01-01
        • 2012-02-12
        • 1970-01-01
        • 2011-09-26
        • 2010-11-10
        相关资源
        最近更新 更多