不应强制引用完整性的原因之一是性能.因为DB必须根据关系验证所有更新,所以这只会使事情变慢,但是实施和不实施的其他利弊是什么呢?

因为关系无论如何都是在业务逻辑层中维护的,所以对于db来说,这只是多余的.你对此有何看法?

推荐答案

数据库负责数据.就这样.句号.

如果数据库中没有完成引用完整性,那么它就是not完整性.它只是相信人们不会做坏事,在这种情况下,你甚至不应该担心密码保护你的数据:-)

谁能保证不会有人编写自己的连接JDBC的客户端来完全搞砸数据,尽管您的业务层制作完美且没有bug(它可能won't没有bug是另一回事,要求DB应该self 保护).

Database相关问答推荐

如何高效地存储 100 万个单词并通过starts_with、contains 或ends_with 进行查询?

将数据集上传到 Hub 时停止运行时会导致什么?

将一个表中的多个列连接到另一个表中的单个列

当我们需要触发程序的返回值时?

使用 2 个进程处理数据库

在 MS SQL 中使用 GUID 作为主键是不是一个坏主意?

SOA 和共享数据库

postgresql 在 where 子句中使用 json 子元素

我们如何保存在 sqlite3 中创建的数据库

Mysql用户创建脚本

在 iphone 上本地存储数据

如何更改 MySQL DB 中所有表的前缀?

如何从 Django 中的 sql 模式生成数据模型?

我是否需要为关系数据库表的主键创建单独的索引

省略日期中的毫秒数

TransactionScope 是如何工作的?

你如何记录你的数据库 struct ?

使用带有联合和 CLOB 字段的 Select 时出现错误 ORA-00932

数据库与纯文本

在两列之间 Select 最近的日期