数据库关系周期闻起来像糟糕的数据库设计。以下是我认为无法阻止的情况:
当前的设计将允许您提供 的产品没有 属于这家公司的地点是 属于本公司。
公司
1 - 麦当劳
2 - 汉堡王
地点
1 - 纽约,1 号楼 - 麦当劳 (1)
2 - 阿姆斯特丹,2 号楼 - 汉堡王 (2)
产品
1 - 巨无霸 - 麦当劳 (1)
产品位置
1 - 巨无霸 (1) - 阿姆斯特丹,2 号楼 (2)
麦当劳卖巨无霸,汉堡王不卖,但他们的大楼似乎确实有:)
当我们向产品添加同样依赖于位置的关系时,情况会变得更糟。
我能做些什么来防止循环?
如何保证数据库数据的完整性?
最佳答案
循环依赖不会自动成为“糟糕的数据库设计”。从概念建模的角度来看,如果这种依赖关系准确地表示您要建模的内容,那么它就不是“错误的”。
不幸的是,SQL 的局限性常常使执行周期性约束变得困难或不可能。在 SQL 中,您通常必须通过以某种方式打破约束或通过在过程代码中实现规则而不是通过数据库约束来妥协。
关于database-design - 数据库关系循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6122645/