我问的原因是我们想使用 MySQL 目前不支持的某个 CHECK 约束。如果没有这种类型的约束,使用外键和引用完整性的全部原因似乎会随着应用程序代码承担更多的数据库责任而减少。
如果我们要创建一个“哑”数据模型并将所有引用完整性检查移动到应用程序代码中的一个层,那么潜在的测试可能会更简单,因为引用完整性错误将被捕获在应用程序而不是数据库中。它还可以潜在地加速新模块的开发,因为它们在测试之前不一定必须是引用完整的(这是一个术语吗?)。
那么,在 MySQL 中坚持使用“正确”数据模型并保留外键和“ON UPDATE CASCADE”语句等还有其他好处吗?
或者,我们应该抛弃 MySQL 并转向别的东西吗?!
谢谢!