解密数据库ER图用于问卷调查

时间:2016-05-20 12:40:04

标签: mysql database database-design database-schema

我正在尝试破译我的老师帮助我制作的数据库ER图。我主要是想弄清楚如何构建所需的表并正确组合它们。

所讨论的ER图是针对在线调查问卷,其中每个问题都基于前一个问题给出的答案,最终导致解决方案/结束。

每个问题可以有多个答案,同一个问题可以有多个不同的答案,具体取决于前面给出的答案。

组合表显示哪些答案与哪个问题相关联,以及下一个问题应该是什么,如果给出了具体答案,最终会导致解决方案。

ER图如下所示:

enter image description here

我不明白:

解决方案/问题表将包含问题和解决方案,这些问题和解决方案可能有不同的实体,但我不明白这是如何完成的?什么是D?

导致是一个联结表,因为答案问题/解决方案之间存在多对多的联系,但为什么呢?它们是否未在组合表中连接? - 如果选择了具体的答案,该表是否不包含知道哪些答案与哪个问题相关所需的所有信息以及下一个问题?

我很难搞清楚如何构建这个数据库,以便它可以按照需要运行。

1 个答案:

答案 0 :(得分:5)

您的图表不是正确的ER图表。特别是,具有“此处的特定解决方案实体”和“此处的特定问题实体”的椭圆并不表示分别表示SolutionQuestion的属性。这意味着QuestionSolutionQuestion/Solution没有任何属性。此外,Combination实体将Answer IDQuestion/Solution ID作为属性,而不是与相关实体相关。

让我们快速回顾一下ER图的元素。

  • 矩形表示实体,椭圆表示属性。
  • 带下划线的椭圆标签表示属性是标识实体的主键的一部分。
  • 钻石表示关系。
  • 关系由与其相关的实体的关键属性确定。
  • 关系也可以有属性。
  • 包含do的圈子表示不相交或重叠的子类型关系。

根据您的要求,我提出了以下功能和多值依赖项:

  • QuestionID - > QuestionText
  • AnswerID - > AnswerText
  • AnswerID - > QuestionID(可能的答案)
  • DecisionID - > QuestionID
  • DecisionID - >> AnswerID(可用答案)
  • DecisionID,AnswerID - > NextDecisionID

基于此,我建议使用以下ER图:

Decision tree ER diagram

翻译成表格模型(我使用相同的决定因素进行非规范化关系,这就是为什么没有可用表和DecisionQuestion的表):

Decision tree database diagram

使用此功能,您可以描述任意数量的问题路径,并为每个决策引用一组可用的答案。解决方案未明确建模,而没有NextDecisionID的AvailableAnswer表示解决方案。