0

假设我正在开发一个允许任何用户创建测验并将它们分配给任何其他用户的应用程序。应记录这些测验的问题和答案。

该应用程序的目标是能够在特定时间重新创建测验并显示特定用户选择的答案。我意识到我缺少日期字段,但在我这样做之前,我需要帮助!

我该如何处理用户可以创建带有 1 个问题的测验而另一个用户决定创建每个随机类型的 100 个问题的事实?.

我应该在 QuizResults 表中创建一个可以存储每种类型的questionn 的列吗?我应该在一列中序列化所有答案吗?我应该怎么办?

一些显而易见的事情值得一提:

  • 测验有很多问题。
  • 测验可以分配给用户。
  • 用户可以参加许多测验。
  • 一些答案将是多项选择,一些将是段落,其他匹配,对或错。
  • 在此处输入图像描述

    4

    1 回答 1

    0

    我强烈建议您至少看一下此类设计的非关系数据库。我这么说是作为关系技术的两个十年用户,而不是反 SQL 狂热者。

    我在过去了解到,这些面向调查的应用程序必须在内容和流程以及问题组织的复杂性方面提供灵活性,最好由文档存储(如MongoDB )或类似或面向 XML 的存储(如作为MarkLogic(可能很昂贵)。

    您可以通过附加到内容的元数据来管理答案结构的“随机性”或变化,您还可以解决调查中经常出现的版本控制问题。

    最终,即使您使用的是关系数据库,我也会建议您研究内容管理系统插件。

    只是一个意见。

    于 2012-08-05T02:30:17.767 回答