繃第五章数据库完整性 ■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 小结
52参照完整性规则 参照完整性: 若属性(或属性组)F是基本关系R的外 本关系R和S不定是木同的 对子R中每个元组在F上的值必须为: ●或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值。 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 参照完整性: 若属性(或属性组)F是基本关系R的外 码,它与基本关系S的主码Ks相对应(基 本关系R和S不一定是不同的关系),则 对于R中每个元组在F上的值必须为: • 或者取空值(F的每个属性值均为空值) • 或者等于S中某个元组的主码值。 5.2 参照完整性规则
52参照完整性规则 例:职工一部门数据库包含职工表EMP和部门 表DET 1)DEPT关系的主码为部门号 Deptno 2)EMP关系的主码为职工号 Empno,外码为 部门号 Deptno 称DEPT为被参照关系或目标关系,EMP为 参照关系 RDBMS执行参照完整性时需要考虑以下4方面: 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 例:职工-部门数据库包含职工表EMP和部门 表DEPT 1) DEPT关系的主码为部门号Deptno 2) EMP关系的主码为职工号Empno,外码为 部门号Deptno 称 DEPT 为被参照关系或目标关系,EMP 为 参照关系 RDBMS执行参照完整性时需要考虑以下4方面: 5.2 参照完整性规则
1、外码是否可以接受空值的问题 ·外码是否能够取空值:依赖于应用环境的语义 实现参照完整性: 系统提供定义外码的机制 定义外码列是否允许空值的机制 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 1、外码是否可以接受空值的问题 • 外码是否能够取空值:依赖于应用环境的语义 • 实现参照完整性: 系统提供定义外码的机制 定义外码列是否允许空值的机制
1、外码是否可以接受空值的问题(续 例1:在职工一部门数据库中, EMP关系包含有外码 Deptno 某元组的这一列若为空值,表示这个职 工尚未分配到任何具体的部门工作和应 用环境的语义是相符 数据库系统原理 厦门大学计算机系 林子雨 ziyuan@xmu.edu.cn2016版
《数据库系统原理》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2016版 1、外码是否可以接受空值的问题(续) 例1:在职工-部门数据库中, EMP关系包含有外码Deptno 某元组的这一列若为空值,表示这个职 工尚未分配到任何具体的部门工作和应 用环境的语义是相符