tsx81428 发表于 2025-11-5 15:24:30

为什么数据库不应该使用外键

一、弁言

当我们须要恒久化地存储数据时,关系型数据库通常是首选。它不光种类丰富、稳固,而且得到了广泛社区的支持。本文将探究关系型数据库中的一个紧张概念——外键(Foreign Key)。
<hr> 二、外键的作用

在关系型数据库中,外键也被称为关系键。它是一组数据列,用于在差别关系表之间创建毗连。这组数据列在当前表中是外键,而在另一个表中必须是候选键(Candidate Key)。通过候选键,我们可以在当前表中找到唯一的元素。通常,我们会使用关系表中的主键作为其他表中的外键,以满意关系型数据库对外键的束缚。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNzM5ZGQ2MDE4NGI1NDZmNDhkNDE1YWRlNzFhNGYzMWYucG5n

图 1 - 关系型数据库与外键
外键不光是一个数据库表中的列,它还提供了额外的同等性包管。由于数据库通常是整个体系的“真理之源”(Source of Truth),以是包管数据的同等性和准确性非常紧张。关系型数据库提供了外键、触发器等特性来包管同等性,但在实际生产情况中,这些特性却很少被使用。
引用完备性(Referential Integrity)是数据的属性,如果数据拥有该属性,那么数据中全部的引用都是正当的。在关系型数据库的上下文中,这意味着关系型数据库中引用另一个表中的值必须存在。
上述 SQL 语句可以向关系表中增长外键束缚,该语句的实行条件是 posts 表中存在 author_id 字段。从 SQL 语句中的 CONSTRAINT 关键字可以推测出,外键不是一种数据范例,而是差别关系表之间的束缚。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 为什么数据库不应该使用外键