数据库 – 我真的应该使用外键吗?

我应该在每个相关的表中使用外键还是不应该使用外键?
如果我应该使用,为什么?

解决方法

“所有相关表格”并不总是很清楚,所以这不是一个明显的情况.可能存在具有公共列但可能永远不会彼此看到的表.

但是,它可以防止错误超出主要防御并允许输入不易追踪的数据.

如果您具有适当的索引,它们无助于提高查询效率,并且一个好的应用程序将过滤输入足以永远不需要它们的输入.但是错误发生了,而且它们是一种廉价的防线.

如果您只是习惯于设计数据库,那么一旦您掌握了基本的父/子关系,就不会花费大量时间来担心和细化.

这是一些背景 –

What’s wrong with foreign keys?

相关文章

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跟踪的数据库标...