本文内容系2024年北航软件学院数据管理技术课程课堂笔记,内容大部分取自课程PPT,少量来源于互联网,若有侵权请联系删除。文章内容如有错漏,敬请批评指正!
第六章 完整性约束
08 - 完整性约束
6.1 完整性约束
数据库的完整性:
- 数据库的正确性和相容性
- 防止不合语义的数据进入数据库
6.1.1 完整性控制机制
- 完整性约束条件定义机制
- 完整性约束条件:数据模型的组成部分,约束数据库中数据的语义
- DBMS 应提供定义数据库完整性约束条件的方法
- 完整性检查机制:检查用户发出的操作请求是否违背了完整性约束条件
- 违约反应:如果用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性
6.1.2 完整性约束条件
完整性约束条件作用的对象:
- 列:对属性的取值类型、范围、精度等的约束条件
- 元组:对元组中各个属性列间的联系的约束
- 关系:对若干元组间、关系集合上以及关系之间的联系的约束
对象的两种状态:
- 静态:对静态对象的约束是反映数据库状态合理性的约束
- 动态:对动态对象的约束是反映数据库状态变迁的约束。涉及新值和旧值
六类完整性约束条件
-
静态列级约束:对列的取值域的说明,如取值类型、取值范围、是否为空值等约束
-
静态元组约束:
- 规定元组的各个列之间的约束关系
- 如有订货关系(ID,商品,订货量,发货量),要求每条记录中:发货量 < = <= <=订货量
- 用
Check
约束实现
-
静态关系约束:关系的各个元组之间或若干关系之间存在的各种联系或约束
-
分类:实体完整性约束、参照完整性约束、函数依赖约束、统计约束…
-
需用触发器实现
-
例:职工平均工资的2倍
-