gpt4 book ai didi

php - 数据库设计/ERD - 测验引擎

转载 作者:搜寻专家 更新时间:2023-10-30 20:42:07 25 4
gpt4 key购买 nike

自从我上学以来,我一直将这个网站作为一个很好的资源使用 - 但我以前从未遇到过这样具体的问题,我希望能得到一些帮助。在弄清楚数据库结构方面,我从来都不是最好的,而且我的任务是创建一个具有一些相当具体规范的 PHP/MySQL 测试引擎。

因此您可以更好地理解我在这里的目的 - 我正在尝试考虑以下因素:

  • 需要管理员和学生登录,并提供不同级别的访问权限。
  • 管理员应该能够构建一项或多项测试并将其分配给一名或多名学生。
  • 对于管理员在测试中构建的每个问题,管理员应该能够分配一个分值。
  • 一项测试应该能够提出一个或多个问题。
  • 您的应用程序应支持三种基本问题类型:判断题、多项选择题和填空题。
  • 最终结果将显示总分以及学生对每个问题的回答。
  • 学生应该只能看到他们有权访问的测试的最终结果。
  • 管理员应该看到多个学生的测试结果。
  • 不允许学生重复参加相同的考试。

大多数情况下,我正在尝试处理基本结构。一开始我有五张表,我将问题/答案部分压缩到一张表中 - 请原谅我在这里切换关系的糟糕尝试,因为我有 20 种不同的感觉:

我走在正确的轨道上吗?有什么建议吗?

最佳答案

N-1 中数据库设计的良好经验法则。对于所有具有关系的表,您应该具有 N-1 关系(其中 N 是表的数量)。带有循环引用的表格是禁忌。作为安全组件并只查看测试/问题/答案,您需要一个具有一些基本对象的设计:

  1. 管理员(或教师)表
  2. 测试表
  3. 学生表
  4. 问题表

您没有在问题中提及它,但是如果您希望每个测试都与老师教授的类(class)相关联,那么您也需要这样做。使用这四个或五个表,您应该能够创建您的关系。提示:这些关系中的大多数都是多对多的,因此需要一个 XRef 表来解决这个问题。回发你用这个做了什么,我们可以看看接下来会发生什么。

关于php - 数据库设计/ERD - 测验引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15138482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com