《数据库技术》第5章 完整性约束与模式分解

第5章完整性约束与模式 参考书目:《数据库系统概论》萨师煊王珊,高等教 育出版社 UA++
1 第5章 完整性约束与模式 参考书目:《数据库系统概论》萨师煊 王珊,高等教 育出版社

本章概要 》本章讲述完整性约束和关系数据库规范化理论,这是 数据库逻辑设计的理论依据。 深刻理解完整性约束的基本概念; 要求了解规范化理论的研究动机及其在数据库设计中 的作用; 掌握函数依赖的有关概念; 理解第一范式、第二范式、第三范式的定义, 重点掌握并能够灵活运用关系模式规范化的方法和关 系模式分解的方法,这也是本章的难点。 UA++
2 本章概要 ➢ 本章讲述完整性约束和关系数据库规范化理论,这是 数据库逻辑设计的理论依据。 ➢ 深刻理解完整性约束的基本概念; ➢ 要求了解规范化理论的研究动机及其在数据库设计中 的作用; ➢ 掌握函数依赖的有关概念; ➢ 理解第一范式、第二范式、第三范式的定义, ➢ 重点掌握并能够灵活运用关系模式规范化的方法和关 系模式分解的方法,这也是本章的难点

5.1关系模型的完整性 为了维护数据库中数据与现实世界的一致性,对关系 数据库的插入、删除和修改操作必须有一定的约束条 件,这就是关系模型的三类完整性: 实体完整性 参照完整性 用户定义的完整性 1.实体完整性( Entity Integrity) 实体完整性是指主码的值不能为空或部分为空。 例如,图5.4中学生关系中的主码“学号”不能为空; 选课关系中的主码“学号+课程号”不能部分为空,即 “学号”和“课程号”两个属性都不能为空。 UA++
3 ➢ 为了维护数据库中数据与现实世界的一致性,对关系 数据库的插入、删除和修改操作必须有一定的约束条 件,这就是关系模型的三类完整性: • 实体完整性 • 参照完整性 • 用户定义的完整性 1. 实体完整性(Entity Integrity) ➢ 实体完整性是指主码的值不能为空或部分为空。 ➢ 例如,图5.4中学生关系中的主码“学号”不能为空; 选课关系中的主码“学号+课程号”不能部分为空,即 “学号”和“课程号”两个属性都不能为空。 5.1 关系模型的完整性

2.参照完整性( Referential integrity) >如果关系R2的外部关系码X与关系R1的主码相符,则X的 每个值或者等于R1中主码的某一个值,或者取空值。 >如图51,52所示,学生关系中某个学生(如s1或s2) “系别”的取值,必须在参照的系别关系中主码“系 别”的值中能够找到,否则表示把该学生分配到一个 不存在的部门中,显然不符合语义。 如果某个学生(如s11)“系别”取空值,则表示该学 生尚未分配到任何一个系。否则,它只能取专业关系 中某个元组的专业号值。 UA++
4 2. 参照完整性(Referential integrity) ➢ 如果关系R2的外部关系码X与关系R1的主码相符,则X的 每个值或者等于R1中主码的某一个值,或者取空值。 ➢ 如图5.1,5.2所示,学生关系中某个学生(如s1或s2) “系别”的取值,必须在参照的系别关系中主码“系 别”的值中能够找到,否则表示把该学生分配到一个 不存在的部门中,显然不符合语义。 ➢ 如果某个学生(如s11)“系别”取空值,则表示该学 生尚未分配到任何一个系。否则,它只能取专业关系 中某个元组的专业号值

S(学生关系) D(系别关系) SNOSN SEX DEPT DEPT ADDR 学号姓名|性别年龄系别 系别地址 S1赵亦女17计算机 计算机1号楼 信息1号楼 S2钱尔男18信息 ●@ 自动化3号楼 S11王威男 图5.1S表(学生表) 图5.2D表(系别表) UA++
5 S(学生关系) D(系别关系) 图5.1 S表(学生表) 图5.2 D表(系别表) SNO 学号 SN 姓名 SEX 性别 AGE 年龄 DEPT 系别 S1 赵亦 女 17 计算机 S2 钱尔 男 18 信息 … … … … … S11 王威 男 19 DEPT 系别 ADDR 地址 计算机 1号楼 信息 1号楼 … … 自动化 3号楼

>实体完整性和参照完整性是关系模型必须满足的完整 性约束条件,被称作关系的两个不变性。任何关系数 居库系统都应该支持这两类完整性。 除此之外,不同的关系数据库系统由于应用环境的不 同,往往还需要一些特殊的约束条件,这就是用户定 义完整性。 3.用户定义完整性(User- defined Integrity) 用户定义完整性是针对某一具体关系数据库的约束条 件。它反映某一具体应用所涉及的数据必须满足的语 义要求。 >例如,属性值根据实际需要,要具备一些约束条件, 如选课关系中成绩不能为负数;某些数据的输入格式 要有一些限制,关系模型应该提供定义和检验这类完 整性的机制,以使用统一的、系统的方法处理它们, 而不要由应用程序承担这一功能 UA++
6 ➢ 实体完整性和参照完整性是关系模型必须满足的完整 性约束条件,被称作关系的两个不变性。任何关系数 据库系统都应该支持这两类完整性。 ➢ 除此之外,不同的关系数据库系统由于应用环境的不 同,往往还需要一些特殊的约束条件,这就是用户定 义完整性。 3. 用户定义完整性(User-defined Integrity) ➢ 用户定义完整性是针对某一具体关系数据库的约束条 件。它反映某一具体应用所涉及的数据必须满足的语 义要求。 ➢ 例如,属性值根据实际需要,要具备一些约束条件, 如选课关系中成绩不能为负数;某些数据的输入格式 要有一些限制,关系模型应该提供定义和检验这类完 整性的机制,以便用统一的、系统的方法处理它们, 而不要由应用程序承担这一功能

52规范化问题的提出 5.2.1规范化理论的主要内容 关系数据库的规范化理论主要包括三个方面的内容 函数依赖 范式( Normal form) 模式设计 其中,函数信赖起着核心的作用,是模式分解和模式 设计的基础,范式是模式分解的标准。 UA++
7 5.2 规范化问题的提出 5.2.1 规范化理论的主要内容 ➢ 关系数据库的规范化理论主要包括三个方面的内容: • 函数依赖 • 范式(Normal Form) • 模式设计 ➢ 其中,函数信赖起着核心的作用,是模式分解和模式 设计的基础,范式是模式分解的标准

5.1.2关系模式的存储异常问题 数据库的逻辑设计为什么要遵循一定的规范化理论? 什么是好的关系模式? 某些不好的关系模式可能导致哪些问题? 下面通过例子进行分析: 例如:要求设计教学管理数据库,其关系模式SCD如下: SCD(SNO, SN, AGE, DEPT, MN, CNO, SCORE) 其中,SN表示学生学号,SN表示学生姓名,AGE表示 学生年龄,DEPT表示学生所在的系别,MN表示系主任 姓名,CN0表示课程号, SCORE表示成绩。 UA++
8 5.1.2 关系模式的存储异常问题 ➢ 数据库的逻辑设计为什么要遵循一定的规范化理论? ➢ 什么是好的关系模式? ➢ 某些不好的关系模式可能导致哪些问题? 下面通过例子进行分析: 例如:要求设计教学管理数据库,其关系模式SCD如下: SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE) ➢ 其中,SNO表示学生学号,SN表示学生姓名,AGE表示 学生年龄,DEPT表示学生所在的系别,MN表示系主任 姓名,CNO表示课程号,SCORE表示成绩

根据实际情况,这些数据有如下语义规定 ①一个系有若干个学生,但一个学生只属于一个系; ②一个系只有一名系主任,但一个系主任可以同时兼几 个系的系主任; ③一个学生可以选修多门功课,每门课程可有若干学生 选修; ④每个学生学习某门课程有一个成绩。 在此关系模式中填入一部分具体的数据,则可得到SCD关 系模式的实例,即一个教学管理数据库,如图5.3所示。 UA++
9 根据实际情况,这些数据有如下语义规定: ①一个系有若干个学生,但一个学生只属于一个系; ②一个系只有一名系主任,但一个系主任可以同时兼几 个系的系主任; ③一个学生可以选修多门功课,每门课程可有若干学生 选修; ④每个学生学习某门课程有一个成绩。 在此关系模式中填入一部分具体的数据,则可得到SCD关 系模式的实例,即一个教学管理数据库,如图5.3所示

SNO AGE DEPT MN CNO SCORE 赵亦 计算机刘伟 Cl 赵亦 7 计算机刘伟 35 S2 钱尔 18 信 王平 C5 57 S2 钱尔 18 信息王平 80 钱尔 18 信息 王平 70 2钱尔18信息王平 C5 70 S3 孙珊 20 信息王平 Cl 0 S3 孙珊 20 信息 王平 C2 70 孙珊 信息王平 85 S4 李思 男自动化刘伟 Cl 93 图5.3关系SCD UA++ 返回原处
10 图5.3 关系SCD SNO SN AGE DEPT MN CNO SCORE S1 赵亦 17 计算机 刘伟 C1 90 S1 赵亦 17 计算机 刘伟 C2 85 S2 钱尔 18 信息 王平 C5 57 S2 钱尔 18 信息 王平 C6 80 S2 钱尔 18 信息 王平 C7 70 S2 钱尔 18 信息 王平 C5 70 S3 孙珊 20 信息 王平 C1 0 S3 孙珊 20 信息 王平 C2 70 S3 孙珊 20 信息 王平 C4 85 S4 李思 男 自动化 刘伟 C1 93 返回原处
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数据库技术》第6章 数据库设计.ppt
- 上海理工大学:《电子商务基础与应用》课程教学资源(PPT课件)第四章 电子商务网站建设.ppt
- 上海理工大学:《电子商务基础与应用》课程教学资源(PPT课件)第十章 电子支付.ppt
- 《高级AutoCAD绘图技巧》讲义.doc
- 成都信息工程学院:《数据结构》课程教学资源(讲稿)第九章 查找.pdf
- 成都信息工程学院:《数据结构》课程教学资源(讲稿)第十章 排序.pdf
- 成都信息工程学院:《数据结构》课程教学资源(讲稿)第六章 树和二叉树.pdf
- 成都信息工程学院:《数据结构》课程教学资源(讲稿)第七章 图.pdf
- 成都信息工程学院:《数据结构》课程教学资源(讲稿)第四章 串.pdf
- 成都信息工程学院:《数据结构》课程教学资源(讲稿)第三章 栈和队列.pdf
- 成都信息工程学院:《数据结构》课程教学资源(讲稿)第二章 线性表.pdf
- 成都信息工程学院:《数据结构》课程教学资源(讲稿)第五章 数组和广义表.pdf
- 成都信息工程学院:《数据结构》课程教学资源(讲稿)C语言复习.pdf
- 成都信息工程学院:《数据结构》课程教学资源(讲稿)第一章 绪论(徐虹).pdf
- 河海大学:《大学计算机信息技术》课程教学资源(PPT课件讲稿)第一章 信息技术概述(马亚生).ppt
- 中南大学:《人工智能》第一章 绪论.ppt
- 中南大学:《人工智能》第五章 计算智能(2).ppt
- 中南大学:《人工智能》第四章 计算智能(1).ppt
- 中南大学:《人工智能》第十章 机器视觉.ppt
- 中南大学:《人工智能》第十一章 自然语言理解.ppt
- 《数据库技术》第3章 关系模型.ppt
- 《数据库技术》第4章 SQL.ppt
- 《数据库技术》第9章 查询处理.ppt
- 《数据库技术》第10章 事务.ppt
- 《数据库技术》第12章 数据库系统的体系结构.ppt
- 《数据库技术》复习大纲.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第10章 分区格式化.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第11章 操作系统的安装.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第12章 克隆大师和分区魔术师的应用.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第13章 电脑的日常维护与保养.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第14章 电脑故障检修.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第15章 电脑常见故障及维修.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第1章 硬件入门.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第2章 主板.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第3章 CPU.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第4章 内存.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第5章 外部存储设备.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第5章 外部存储设备.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第6章 显示设备及其他.ppt
- 《电脑组装与维护技术培训教程》教学资源(PPT电子教案)第7章 输入输出设备.ppt