数据库中绝对需要外键吗?

我想知道外键在数据库中的真正有用.从本质上说,如果开发者知道不同表所依赖的是什么密钥,那么他们可以像查询一样有外键写出查询,对吗?

另外,我确实看到外键约束有助于防止数据完整性的各种错误,但是例如说,程序员做好了保护数据完整性的工作,外键真的有必要吗?

解决方法

如果你不关心参照完整性,那么你是对的.你应该关心参考诚信

问题是人们犯错误.电脑不行

关于你的评论

but say for example,the programmers do a good job of
preserving data integrity

有人最终会犯错误.没有人是完美的.另外如果你把新人带给你,并不总是确定他们写“完美”代码的能力.

除此之外,您无法执行级联删除操作,还有一些其他定义外键允许的其他功能.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...