【问题标题】:How to disconnect this loop relation如何断开这个循环关系
【发布时间】:2019-02-21 20:29:12
【问题描述】:

我有一个数据库,包含这些表。但是关系是循环的,在创建表单时会导致问题。

我们有很多班级,每个班级可能有不止一个测验,但并非所有班级都有相同的测验,它们是不同的,并且每个测验学生都有分数。

我设计数据库的方式是测验与每个班级一对多相关,测验与学生之间的多对多关系,一个内表(测验学位)。 问题是它变成了一个循环设计,因为 quis 也与 ckass 表有关。

我试图想出更好的设计,但找不到。

欣赏是否有人有更好的设计。

【问题讨论】:

  • 您能描述一下您想要实现的目标吗?例如,有学生被分配到不同的班级,他们将进行测验,然后他们将获得带有分数的学位。

标签: ms-access database-design relational-database


【解决方案1】:

除了引用类表的外键外,您的设计中似乎没有引用完整性。你可能应该解决这个问题。除此之外,您的设计似乎没有任何问题。

据我们从图中可以看出,在 ER 建模者通常理解的意义上没有循环依赖,因为 A) 并非所有表都有外键,B) 如果所有表都有外键,那么它们不会无论如何形成一个有向循环。

这里唯一的问题是您在使用表单时遇到了什么问题。您没有解释问题,但无论如何,围绕 UI 的需求来构建数据库设计通常是非常不明智的。

【讨论】:

  • 感谢您的 cmets。我对这个设计的问题是我无法为每个学生创建一个显示该学生的所有测验并输入每个学生的学位。我设法创建了一个带有 QUIZes 子表单的表单,但字段不可更新。我认为问题在于循环设计,这就是我寻求另一种模式的原因。
猜你喜欢
  • 1970-01-01
  • 2023-03-19
  • 2016-07-06
  • 2015-09-13
  • 2021-02-03
  • 2021-04-02
  • 2023-03-29
  • 1970-01-01
  • 2014-07-22
相关资源
最近更新 更多