繃第五章数据库完整性 ■51实体完整性 ■5.2参照完整性 ■5.3用户自定义完整性 ■54完整性约束命名子句 56触发器 ■57小结 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 第五章 数据库完整性 ◼ 5.1 实体完整性 ◼ 5.2 参照完整性 ◼ 5.3 用户自定义完整性 ◼ 5.4 完整性约束命名子句 ◼ 5.6 触发器 ◼ 5.7 小结
繃综合统一(操纵三级模式) 数据安全 SQL 数据完整性 视图1 视图2 外模式 基表1 基表2 基表3 基表4模式 存储文件1 存储文件2 内模式 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 综合统一(操纵三级模式) SQL 视图1 视图2 基表1 基表2 基表3 基表4 存储文件1 存储文件2 外模式 模式 内模式 数据安全 数据完整性
●什么是数据库的完整性? 数据的正确性和相容性 防止不合语义的数据进入数据库。 例:学生的年龄必须是整数,取值范围为14-29; 学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校开设的系; 完整性:是否真实地反映现实世界 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 什么是数据库的完整性? – 数据的正确性和相容性 – 防止不合语义的数据进入数据库。 例: 学生的年龄必须是整数,取值范围为14--29; 学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校开设的系; – 完整性:是否真实地反映现实世界
什么是完整性控制机制? 完整性约束条件定义机制 2.完整性检査机制 3.违约处理 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 什么是完整性控制机制? 1. 完整性约束条件定义机制 2. 完整性检查机制 3. 违约处理
●1、完整性约束条件定义 ·完整性约束条件:数据模型的组成 部分约束数据库中数据的语义 ·DBMs应提供定义数据库完整性约 束条件,并把它们作为模式的一部 分存入数据库中 由SQL的DDL语句实现 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 1、完整性约束条件定义 • 完整性约束条件:数据模型的组成 部分,约束数据库中数据的语义 • DBMS应提供定义数据库完整性约 束条件,并把它们作为模式的一部 分存入数据库中 • 由SQL的DDL语句实现
2、完整性检查机制 检查用户发出的操作请求是否 违背了完整性约束条件 在| NSERT、 UPDATE、 DELETE语句执行时进行检查 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 2、完整性检查机制 • 检查用户发出的操作请求是否 违背了完整性约束条件 • 在INSERT、UPDATE、 DELETE语句执行时进行检查
3、违约处理 ·如果发现用户的操作请求使数据违 背了完整性约束条件,则采取一定 的动作来保证数据的完整性。 拒绝( NO ACTION)、级连 (CASCADE) 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 3、违约处理 • 如果发现用户的操作请求使数据违 背了完整性约束条件,则采取一定 的动作来保证数据的完整性。 • 拒绝(NO ACTION)、级连 (CASCADE)
●1完整性约束条件作用的对象 列:对属性的取值类型、范围、精度等的约 束条件 元组:对元组中各个属性列间的联系的约束 关系:对若干元组间、关系集合上以及关系 之间的联系的约束 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 1.完整性约束条件作用的对象 • 列:对属性的取值类型、范围、精度等的约 束条件 • 元组:对元组中各个属性列间的联系的约束 • 关系:对若干元组间、关系集合上以及关系 之间的联系的约束
●2完整性约束条件分类 静态 一对静态对象的约束是反映数据库状态 合理性的约束 动态 对动态对象的约束是反映数据库状态 变迁的约束 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 2.完整性约束条件分类 • 静态 – 对静态对象的约束是反映数据库状态 合理性的约束 • 动态 – 对动态对象的约束是反映数据库状态 变迁的约束
繃第五章数据库完整性 ■51实体完整性 ■5.2参照完整性 ■5.3用户自定义完整性 ■54完整性约束命名子句 56触发器 ■57小结 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 第五章 数据库完整性 ◼ 5.1 实体完整性 ◼ 5.2 参照完整性 ◼ 5.3 用户自定义完整性 ◼ 5.4 完整性约束命名子句 ◼ 5.6 触发器 ◼ 5.7 小结