MySQL外键和参照完整性的联系

数据库 MySQL
MySQL数据库中引入了外键,让数据库更为简单,保证了MySQL数据库的参照完整性,下文对这两者的关系进行了详细的阐述,供您参考。

MySQL外键可以保证数据库的参照完整性,让数据库变得更简单。而参照完整性是数据库设计中最重要的概念之一。

参照完整性(完整性约束)是数据库设计中的一个重要概念,当数据库中的一个表与一个或多个表进行关联时都会涉及到参照完整性。比如下面这个例子:
文章分类表 -    categories
category_id       name
1                 SQL Server
2                 Oracle
3                 PostgreSQL
5                 SQLite

文章表 - articles
article_id        category_id       title
1                 1                 aa
2                 2                 bb
3                 4                 cc

可见以上两个表之间是通过category_id,其中categories表有4条记录,articles表有3条记录。

然而可能因为某种原因我们删掉了categories 表中category_id=4的记录,而articles表却还是有一条category_id=4的记录,很明显,category_id=4的这条记录不应该存在在articles表中,这样会很容易造成数据错乱。

相反,MySQL外键关系(Foreign Key relationships)讨论的是父表(categories)与子表(articles)的关系,通过引入MySQL外键(Foreign Key)这个概念来保证参照完整性(Referential integrity),将使会数据库变的非常简单。比如,要要做到删除categories表中category_id=4记录的同时删除 articles 表中category_id=4的所有记录,如果没有引入MySQL外键的话,我们就必须执行2条SQL语句才行;如果有外键的话,可以很容易的用一条SQL语句就可以达到要求。
 

 

【编辑推荐】

带参数的MySql存储过程

取得MySQL表信息的语句

mysql UPDATE语句的使用方法

mysql插入Clob字段的实例

常见MySql字段的默认长度

 

 

责任编辑:段燃 来源: 互联网
相关推荐

2010-11-22 10:18:43

MySQL外键

2010-05-14 09:03:53

2010-06-12 09:02:12

MySQL参照完整性

2010-06-10 15:52:04

MySQL参照完整性

2023-09-08 08:44:09

Oracle数据库

2010-11-23 11:36:15

MySQL创建关联表

2015-03-12 15:44:59

2010-11-22 10:08:03

Mysql外键用法

2018-06-22 23:14:19

完整性监测FIM信息安全

2023-11-08 08:22:23

2023-07-07 08:16:53

Redis持久化

2018-07-19 06:17:09

数据完整性数据安全网络安全

2018-02-05 22:41:35

2010-02-26 15:41:16

WCF分布事务

2023-03-17 16:32:51

测试软件开发

2009-09-25 11:03:35

PCI DSS数据完整数据安全

2015-06-08 13:48:15

数据库数据完整性约束表现

2022-03-22 12:56:53

垃圾数据数据完整性

2020-09-14 09:39:22

信号

2010-06-01 18:11:25

Rsync 使用
点赞
收藏

51CTO技术栈公众号