您能否推荐一种用于测验问题和答案的数据库设计,以允许可扩展的问题类型数量? [关闭]

2024-06-22

到目前为止的示例问题类型:

  • 多项选择单选(想想单选按钮)

  • 多项选择多项答案(考虑复选框)

  • 匹配(现在有很多可能选择的排列)

我想将它们存储在一个数据库结构中,将来可以用于这些问题和更多类型的问题,所以我正在尝试想办法让它......可扩展?

现在我有(但是你的建议不必受此限制):

  • 问题表
  • 答案表
  • 选择答案表
  • 用户表

一个问题可以有多个答案。 一对用户/问题可以有多个选择的答案。

然而,据我所知,我无法使匹配很好地工作,而且我也不是 100% 相信它可以轻松地用于多重答案,这很容易意味着计算一个人的总分时所需的逻辑量最少, ETC。

谁能想到一种设计,让我可以使用所有这三种类型的测验问题,并添加未来的问题?我需要一些灵感,一种范式转变,如果你愿意的话……

未来问题类型的一个例子可以是“将这些事物列表按正确的顺序排列”......等等。

无论看起来多么复杂,都必须有一种方法来解释所有这些不同的可能问题类型,同时仍然让我使用一种相当直接的方法来计算测验的总分以用于报告目的,等等。

如果我遗漏了任何细节,请在评论中告诉我,但最好只是假设我什至没有考虑您正在考虑的细节,因为我已经将我所拥有的所有内容都放在了问题中,但我会根据要求进行澄清。


在下面的设计中,我们将在问题表中使用一系列标志来指示问题的类型。我们还指出了问题的级别。答案表通过外键链接到问题表。完整测试表将保存所进行的完整测试的结果。每个用户只允许进行一次不完整的测试。在不完整的测试表中,我们将问题链接回问题表(哎呀,我错过了关系线),这将链接到我们在不完整的测试表的字符串列中记录用户给出的答案的可能答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您能否推荐一种用于测验问题和答案的数据库设计,以允许可扩展的问题类型数量? [关闭] 的相关文章

  • 有很多数据库视图可以吗?

    我很少 每月 每季度 使用 Microsoft SQL Server 2005 数据库视图生成数百份 Crystal Reports 报告 在我不读取这些视图的所有时间里 这些视图是否会浪费 CPU 周期和 RAM 因为我很少从视图中读取数
  • 在数据库中建模抽象基类和子类

    我有4个子类 Video Image Note and Form 每一项都包含不同类型的数据 例如 Image类包含磁盘上图像文件的路径和图像属性 以及Form类包含表单字段值 然而 每个项目之间的共同元素是 GPS 坐标和航向 因此我有以
  • Django 选择性转储数据

    是否可以有选择地过滤哪些记录Django的dumpdata管理命令输出 我有几个模型 每个模型都有数百万行 我只想转储一个模型中符合特定条件的记录 以及引用任何这些记录的所有外键链接记录 考虑这个用例 假设我有一个生产数据库 其中我的用户模
  • MySQL JOIN 滥用?情况会变得有多糟糕?

    我读了很多关于关系数据库的文章 在每个 SELECT 上使用许多 JOIN 语句 但是 我一直想知道滥用这种方法从长远来看是否会出现任何性能问题 例如 假设我们有一个users桌子 我通常会添加 最常用 的数据 而不是进行任何额外的联接 例
  • 为什么要为字符变化类型指定长度

    参考 Postgres 文档字符类型 http www postgresql org docs current static datatype character html 我不清楚指定字符变化 varchar 类型的长度 假设 字符串的长
  • 实时数据和草稿数据的数据库模型

    我一直在考虑在数据库中保存 实时 数据集和草稿数据集的最佳方法 实际版本会显示在网站上 草稿版本会一直进行下去 直到准备好上线为止 该模型是关系模型 由许多表组成 我目前的方法是拥有 2 个数据库 一个用于草稿 一个用于实时 当您将数据提升
  • 静态时序数据的数据库解决方案

    我们拥有一个庞大且不断增长的实验数据集 该数据集取自约 30 000 名受试者 对于每个主题 都有多个数据记录 在每个记录中 收集了多个生理数据时间序列 每个时间序列约 90 秒长 并以 250Hz 采样 我应该注意到 时间序列的任何给定实
  • Cassandra 与 ZooKeeper 的事务 - 这有效吗?

    我正在尝试在 ZooKeeper 的帮助下为 Cassandra 实现一个事务系统 由于我认为我在数据库实现方面没有足够的经验 所以我想知道我的想法原则上是否可行 或者是否有任何重大缺陷 以下是步骤的高级描述 识别所有要编辑的行 键 和列
  • 数据库设计 - “推”模型,或写时扇出

    背景信息 我正在尝试检索我关注的人的图像 按最新时间排序 它就像 Twitter 新闻源 显示您朋友的最新动态 Plans 目前我只需要考虑一项 那就是图像 将来我计划分析用户的行为并将他们可能喜欢的其他图像添加到他们的提要中等 http
  • 淹没在空无的海洋中

    我继承的一个应用程序跟踪对材料样品执行的实验室测试结果 数据存储在单个表 tblSampleData 中 其主键为 SampleID 并有 235 列代表潜在的测试结果 问题是每个样本仅执行少量测试 因此每行包含超过 200 个空值 实际上
  • 如何将商品与定价数据正确关联,同时考虑价格变化历史记录

    事实上 所有 POS 系统都会在销售时将商品的价格直接记录到交易表中 因为该价格可能会在以后发生变化 但其销售价格应保持不变 我想知道如何设置保留价格变化历史记录的定价表 以便您可以根据商品及其销售时间将交易与该表关联起来 以获得正确的价格
  • 数据库设计 - 何时拆分表?

    有时创建一个单独的表会产生更多工作 我是否应该将其拆分 例如 在我的项目中 我有一张客户表 每个客户对每种产品都有自己的特殊价格 只有5种产品 未来不会计划更多产品 每个客户也有一周中公司向他交付产品的独特日子 当日期和产品价格是客户表中的
  • MySQL标签中如何存储标签,总共一个字段还是每个标签一个字段?

    我正在开发一个接近 stackoverflow com 的产品 发帖者需要为其问题或任务输入标签 如何将这些标签存储在数据库中 是总共一个字段 列 还是一个标签一个字段 列 我觉得多对多 http en wikipedia org wiki
  • 限制 sqlite 表的最大行数

    我希望实现一种 活动日志 表 其中用户执行的操作存储在 sqlite 表中 然后呈现给用户 以便他们可以看到他们所做的最新活动 然而 自然地 我觉得没有必要保留每一个历史记录 所以我想知道是否有一种方法可以配置表以在达到最大设置限制后开始修
  • 社交应用程序的数据库设计和优化注意事项

    通常的情况 我有一个简单的应用程序 允许人们上传照片并关注其他人 因此 每个用户都会有类似 墙 或 活动源 的东西 他或她可以在其中看到他 她的朋友 他或她关注的人 上传的最新照片 大多数功能都很容易实现 然而 当涉及到这个历史活动源时 由
  • 跨多个表进行搜索,并在结果行中显示表名称

    如何构建 SQL 语句以跨多个平面不相关的表运行 并使用选择结果和结果来自的表的名称显示结果 这种情况是这样的 我有几个表 每个表都有相同的列名 这是我从外部各方收到的数据 并将其存储在不同的表中 相同的表看起来像 Table 1 pid
  • 一列作为主键或两个外键作为主键

    我有以下数据库设计 An E Report有一个QAP其中有一些Requirements A QAP和它的Requirements 可以用于多个E Report Every Requirement每份电子报告中都会有 是 否 确认 我已经添
  • 实现软删除的最佳方法是什么?

    目前在做一个项目 我们要对大部分用户 用户角色 实现软删除 我们决定添加一个is deleted 0 数据库中每个表的字段并将其设置为 1 如果特定用户角色点击特定记录上的删除按钮 现在为了将来的维护 每个SELECT查询需要确保它们不包含
  • 如何在 Rails 中对不同用户建模

    Question 我有一个带有内置授权和身份验证逻辑的用户模型 现在我意识到我拥有三种不同类型的用户 我想存储每个人的不同信息 Rails 中处理这个问题的最佳方法是什么 基于当前阅读的想法 我看过 STI 但从我读到的内容来看 它是不合适
  • 时态数据库设计,有一些变化(实时行与草稿行)

    我正在考虑实现对象版本控制 同时需要同时拥有活动对象和草稿对象 并且可以利用某人在这方面的经验的见解 因为我开始怀疑是否有可能在没有潜在可怕的黑客攻击的情况下实现这一点 为了示例 我将把它分解为带有标签的帖子 但我的用例更一般 涉及缓慢改变

随机推荐