Ms access 如何断开此循环关系

Ms access 如何断开此循环关系,ms-access,database-design,relational-database,Ms Access,Database Design,Relational Database,我有一个数据库,包含这些表。但这种关系是循环的,在创建表单时会产生问题 我们有很多班级,每个班级可能有多个测验,但不是所有班级都有相同的测验,它们是不同的,每个测验学生都有分数 我设计数据库的方式是,Quiz与每个班级一对多相关,Quiz与学生的多对多关系相关,中间有一个内部表格(测验等级)。 问题是它变成了一个循环设计,因为quis也与ckass表相关 我试图想出一个更好的设计,但没有找到 如果有人有更好的设计,请欣赏。 除了引用类表的外键外,您的设计中似乎没有引用完整性。你应该把它修好。除此

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

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

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

我试图想出一个更好的设计,但没有找到

如果有人有更好的设计,请欣赏。

除了引用类表的外键外,您的设计中似乎没有引用完整性。你应该把它修好。除此之外,你的设计似乎没有任何问题

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


这里唯一的问题是在使用表单时遇到了什么问题。您没有解释这个问题,但在任何情况下,围绕用户界面的需求来构建数据库设计通常都是非常不明智的。

您能描述一下您想要实现的目标吗。例如,有学生被分配到不同的班级,他们将进行测验,然后他们将获得有分数的学位。谢谢你的评论。我对这个设计的问题是,我无法创建一个“从每个学生”来显示该学生的所有测验,并为每个学生输入学位。我设法创建了一个带有子表单的测验,但是字段是不可更新的。我认为问题在于循环设计,这就是为什么我在寻找另一种模式。