你的浏览器不支持本网站所要求的功能, 现在看到的是本网站简化版本.

为了获得最佳体验, 请使用最新的Chrome, Safari, Firefox 或 Edge 浏览器.

2. 关系数据库

2.3 关系的完整性

Powered by impress.js
Ver. 2408

### 关系的完整性 - 对关系的约束条件 - 使关系的值满足语义要求
### 关系的完整性约束 - 实体完整性 (Entity Integrity) - 参照完整性 (Referential Integrity) - 用户定义的完整性 (User-defined Integrity)
### 实体完整性 - 关系中的每个实体都有唯一标识 - 又名主键约束或主码约束 - 实体完整性约束是必须满足的
### 规则 2.1 - 若属性 (或属性组) $A$ 是基本关系 $R$ 的主属性, 则 $A$ 的值不允许为空值, 且 $A$ 的值必须唯一
### 参照完整性 - 维护关系之间的参照关系 - 又名外键约束或外码约束 - 当表相关时必须满足参照完整性
### 外码 - 设 $F$ 是基本关系 $R$ 的一组属性, 但不是 $R$ 的主码 - $K\_s$ 是基本关系 $S$ 的主码 - 如果 $F$ 与 $K\_s$ 相对应, 则称 $F$ 是 $R$ 的外码 (foreign key) - $R$ 是参照关系 (referencing relation), $S$ 是被参照关系 (referenced relation) 或目标关系 (target relation) - 关系 $R$ 和 $S$ 不一定是不同的关系
### 参照完整性规则 - 若属性 (或属性组) $F$ 是基本关系 $R$ 的外码, 它与基本关系 $S$ 的主码 $K\_s$ 相对应, 对于 $R$ 中每个元组在 $F$ 上的值必须满足以下条件: - 或者取空值 ($F$ 的每个属性值均为空值) - 或者等于 $S$ 中某个元组的主码值
### 用户定义的完整性 - 应用领域特定的约束条件 - 体现具体领域中的语义约束 - 由用户根据应用需求自定义
### 用户定义的完整性 - 属性的唯一性 - 非主属性的非空性 - 关系模型提供机制来定义和验证这些完整性约束
![course 2.3 mindmap](img/c02/mindmap-2-3.png)
### 2.3 关系的完整性 - 什么是关系的完整性约束, 它包含哪几种类型? - 实体完整性是什么? 主键约束如何确保实体完整性? - 参照完整性的含义是什么? - 什么是外码? - 参照关系和被参照关系的概念是什么? - 用户定义的完整性是什么意思? ---- [ 2.2 关系操作](dbds-2-2.html#/overview) [| 练习 |](dbds-exec.html) [ 2.4 关系代数](dbds-2-4.html#/overview)

黑公网安备23010302001726号   黑ICP备2024033110号-1