mysql主键约束和外键约束的作用

您所在的位置:网站首页 mysql定义主键约束的关键字 mysql主键约束和外键约束的作用

mysql主键约束和外键约束的作用

2023-11-02 03:11| 来源: 网络整理| 查看: 265

1、主键约束

表通常具有包含唯一标识表中每一行的值的一列或一组列。 这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性。 由于主键约束可保证数据的唯一性,因此经常对标识列定义这种约束。

如果为表指定了主键约束, 数据库引擎将通过为主键列自动创建唯一索引来强制数据的唯一性。 当在查询中使用主键时,此索引还允许对数据进行快速访问。

如果对多列定义了主键约束,则一列中的值可能会重复,但来自主键约束定义中所有列的值的任何组合必须唯一。

2、外键约束

也称为引用约束或引用完整性约束,能够定义表间以及表内必需的关系。

例如,典型的外键约束可能规定 EMPLOYEE 表中的每个职员必须 是一个现有部门的成员,该部门在 DEPARTMENT 表中定义。

引用完整性是数据库的一种状态,在该状态中,所有外键的所有值都有效。外键是表中的一列或一组列,它的值需要与其父表的行的至少一个主键或唯一键值相匹配。

引用约束是这样一种规则,仅当满足下列其中一个条件时,外键的值才有效:

它们作为父键的值出现

外键的某些组成部分为空

例如,要建立此关系,应将 EMPLOYEE 表中的部门号定义成外键,并将 DEPARTMENT 表中的部门号定义成主键。

这样当在EMPLOYEE表中新添加一个员工,而其所在部门的代号在DEPARTMENT表中未出现时,这将是一个无效键记录,将被阻止。

引用约束的目的是保证表关系得到维护并遵循数据输入规则。

这意味着只要引用约束有效,数据库管理器就保证对于子表中其外键列中具有非空值的每行,相应父表中都存在一个其父键中具有匹配值的行



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3