为什么我不建议你在数据库设计中使用外键功能呢?

2026-04-02 11:380阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1938个文字,预计阅读时间需要8分钟。

为什么我不建议你在数据库设计中使用外键功能呢?

不推荐数据+点击上方一个优秀的作者,选择设置为星标+优质文章,及送时送达+作者+|+bang+Piotr Kononow 链接+|+www.jdon.com/49188+Piotr Kononow 是一位业务分析师、软件架构师和项目经理,他拥有+

不推荐数据

点击上方一个优秀的废人,选择“设为星标”

优质文章,及时送达作者 | bang,Piotr Kononow链接 | www.jdon.com/49188

Piotr Kononow是一位业务分析师、软件架构师和项目经理,他拥有15年以上编程经验和背景(SQL,java,C++…)。他的专长是数据仓库/ BI和商业应用,这是他的一篇文章:

最近我和几位DBA和架构师争论,他们对一些数据库没有外键感到震惊,并声称这是一种设计缺陷,是不应该发生的。如果发生必须马上改正。我想与他们争辩。我的经验告诉我,很多数据库(大多数我曾经使用的)不包含外键时并不总是一件坏事。在这篇文章中,我想把重点放在为什么的原因上。

为什么这是一个问题?

1. 潜在的数据完整性问题,

缺少外键明显问题是数据库不能强制进行引用完整性检查,如果在高一层没有正确处理,则可能会导致数据不一致(子行没有相应父行)。

2. 表格关系不清晰

数据库中缺少外键的另一个不太明显的负面影响是,不了解该模式的人很难找到正确的表并找出表关系。这可能会导致严重的数据库查询和报告问题。

为什么数据库可以没有外键?

让我们来看看数据库可以没有外键的原因。首先一个简短的免责声明(因为文章引发了一些关于LinkedIn群体的争议):

下面的理由绝不鼓励不要在数据库中使用外键约束。

阅读全文

本文共计1938个文字,预计阅读时间需要8分钟。

为什么我不建议你在数据库设计中使用外键功能呢?

不推荐数据+点击上方一个优秀的作者,选择设置为星标+优质文章,及送时送达+作者+|+bang+Piotr Kononow 链接+|+www.jdon.com/49188+Piotr Kononow 是一位业务分析师、软件架构师和项目经理,他拥有+

不推荐数据

点击上方一个优秀的废人,选择“设为星标”

优质文章,及时送达作者 | bang,Piotr Kononow链接 | www.jdon.com/49188

Piotr Kononow是一位业务分析师、软件架构师和项目经理,他拥有15年以上编程经验和背景(SQL,java,C++…)。他的专长是数据仓库/ BI和商业应用,这是他的一篇文章:

最近我和几位DBA和架构师争论,他们对一些数据库没有外键感到震惊,并声称这是一种设计缺陷,是不应该发生的。如果发生必须马上改正。我想与他们争辩。我的经验告诉我,很多数据库(大多数我曾经使用的)不包含外键时并不总是一件坏事。在这篇文章中,我想把重点放在为什么的原因上。

为什么这是一个问题?

1. 潜在的数据完整性问题,

缺少外键明显问题是数据库不能强制进行引用完整性检查,如果在高一层没有正确处理,则可能会导致数据不一致(子行没有相应父行)。

2. 表格关系不清晰

数据库中缺少外键的另一个不太明显的负面影响是,不了解该模式的人很难找到正确的表并找出表关系。这可能会导致严重的数据库查询和报告问题。

为什么数据库可以没有外键?

让我们来看看数据库可以没有外键的原因。首先一个简短的免责声明(因为文章引发了一些关于LinkedIn群体的争议):

下面的理由绝不鼓励不要在数据库中使用外键约束。

阅读全文