如何断开此循环关系

时间:2018-09-17 21:15:11

标签: database-design relational-database access

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

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

我设计数据库的方式是,测验与每个班级一对多相关,而测验则与学生多对多关系相关,两者之间是内部表(测验度)。 问题在于它成为循环设计,因为问题也与ckass表相关。

我试图考虑一种更好的设计,但是找不到一个。

赞赏有人设计得更好。 enter image description here

1 个答案:

答案 0 :(得分:1)

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

据我们从图中可以看出,在某种意义上说,ER建模者通常不理解循环依赖,因为A)并非所有表都具有外键,B)如果所有表都具有外键,那么它们就不会反正形成有向循环。

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