【发布时间】:2018-06-28 16:20:53
【问题描述】:
虽然我的目标是 MySQL/PHP,但出于我的问题,我想将其普遍应用于与现代编程语言结合使用的任何关系数据库。另一个假设是该语言正在利用一个现代框架,该框架在某种程度上可以隐式处理外键约束,或者有一种方法可以显式处理。
我的问题:
与在应用程序级别管理它们相比,在数据库本身创建 FK 约束有哪些优缺点?
从设计的角度来看,它们应该一起使用还是会导致冲突?
如果它们不应该一起使用,关于使用哪种方法被认为是“最佳实践”?
注意:这是一道设计理论题。由于可用于满足实现的技术种类繁多,我对实现的任何细节并不真正感兴趣。
【问题讨论】:
-
Myslq 比 PHP 快得多,而且它专为数据完整性而设计,为什么要在 php 中这样做?
-
@Mihai 我并不是要建议我以某种方式想要它。这就是我问这个问题的原因:)
-
在应用程序中管理 FK 约束没有“专业”。只是为以后的灾难打开了大门。这就是 DB 的设计形式