以下用例一直在困扰着我,它总是让我很烦恼,我并不真正了解这个解决方案。最近我碰到它一次:使用4表循环引用的表完整性
- 的
object
已经0以上objectProperties
;- an
object
用于1个或多个operations
;- 部分的
operations
使用1个或多个objectProperties
object
他们在(0或更多关系)上操作;- an
objectProperty
将用于1个或多个operations
。
这使我下面的数据库设计:
注:表名是由为了说明问题
我的问题是:
- 这个db设计是否正确他说用例?
- 是否有任何方法来强制引用完整性的用例如数据库引擎*中所述?
*)我可以执行我的应用程序代码的这一规则,但在我看来是相当脆弱的,所以我宁愿看到制约我的数据模型执行的完整性,如果在所有可能的。
从来没有在任何情况下通过除数据库以外的任何事情强制数据或参照完整性。这将导致100%的错误数据。应用程序不是唯一可以更改数据库数据的东西。 – HLGEM
也不要使用面向对象的原则来设计数据库。如果您有任何类型的循环引用,则数据库设计不正确。没有更多的信息,IT很难说实际的设计应该是什么。 – HLGEM
@HLGEM,感谢您的支持,最大的问题仍然是:如何在OP中提供的用例中强制执行完整性? – Monika