database - 独特的问卷类型 - 数据库设计
问题描述
对于研究实验,我需要设计一个实现特定类型问卷的 Web 应用程序,其结果将用于得出一些统计数据并得出一些结论。
简而言之,问卷必须按以下方式工作
1->所有答案的范围从绝对错误到绝对正确或开放答案。
2->每组问题对应一个给定的单词(例如 BIRD 或 FISH)和一个描述(一个小句子)。
3->在一组中,所有问题都可以采用小句子(文本)或图像(待分类)的形式,每组可以包含任意数量的问题。我需要能够将与一个单词相对应的问题存储为文本和图像,并能够在它们之间进行选择。
4->每组问题对应5种不同的帮助。在问卷类型A中,用户可以随意选择一个。在问卷类型 B 中显示了所有类型。
5->用户必须回答所有问题一次(并且它们必须以随机顺序出现)。那么,如果类型A,他必须选择一种帮助或拒绝获得帮助并可能修改他的答案。或者,如果是 B 类,则一一查看各种帮助(以随机顺序),并可能修改他的答案。
6->对于每个问题,对于每种类型的问卷,我必须知道答案是否被修改,哪种帮助导致用户修改以及(如果类型 B)这种帮助是否出现第 1、第 2、第 3 等。
我意识到这些可能不是最复杂的要求,但我对此并不陌生,而且相当困惑。到目前为止,我的关系如下所示
- QUESTIONNAIRE(id,help_choice,类型,阶段)
- QUESTION_CATEG(id,类型,名称,描述)
- 图像(#qcat_id,文件路径)
- 文本(#qcat_id,内容)
- 包括( #questionnaire_id ,# qcat_id)
- 帮助( #id ,#qcat_id ,内容)
- 回答(#questionnaire_id,#qcat_id,响应,was_modified,help_taken,help_order)。
help_taken 能够采用特殊值来表示没有帮助,而 help_choice 能够采用特殊值来表示所有帮助都已显示。
困扰我的是不同类型的问题。对于给定的问题类别,我不太喜欢(而且我不会这样做)区分文本类型和图像类型问题的方式。知道对于给定的类别(比如 BIRD)我可能同时具有两种类型(图像和文本),我在QUESTION_CATEG中包含了一个“类型”属性。但我觉得我在重复信息。
您对如何解决此问题有任何提示吗?甚至是完全不同的方法的想法。欢迎任何帮助。
解决方案
这似乎有效。
Q_CATEG ( id , name, order, description, 包括在内)
问题(id,q_categ_id,类型,内容,顺序)
AVAIL_ANSWER ( id , question_id, content, order)
HELP_CATEG ( id , order, name, description)
帮助(help_categ_id,q_categ_id,订单,内容)
问卷(id,类型,阶段,开始,结束)
GIVEN_ANSWER(问卷调查 ID 、问题ID、答案 ID、修改答案 ID、原因答案 ID、帮助类别 ID、帮助订单)
推荐阅读
- c - 在循环中初始化唯一指针(用于哈希表)
- javascript - NodeJS 仅在将所有对象保存到数据库后才向客户端发送响应
- javascript - React 模板文字变量样式
- node.js - ReferenceError: 要求未定义(在我的休息 api 上)
- swift - 如何创建一组具有在 SwiftUI 中编辑的单独变量的文本字段?
- javascript - 同时播放多个音频文件的组件(点击时)Aframe webVR
- swift - 无法更改颜色:“MKAnnotationView”类型的值没有成员“pinTintColor”
- reactjs - 反应 useMeasure 不适用于 nextJS?
- xcode - 如何将 USB 上的 .xip 文件扩展至内部硬盘?
- javascript - 鼠标悬停在 li 上时,没有顺利更改 img