复旦大学:《数据库系统教程》电子教案(PPT教学课件)第4章 关系数据库的规范化设计

第4章关系数据 库的规范化设计
第4章 关系数据 库的规范化设计

本章重要概念 (1)关系模式的冗余和异常问题 (2)FD的定义、逻辑蕴涵、闭包、推理规则、与 关键码的联系;平凡的FD;属性集 的闭包;推理规则的正确性和完备性;FD集的等价; 最小依赖集。 (3)无损分解的定义、性质、测试;保持依赖集的分 解 (4)关系模式的范式:1NF,2NF,3NF,BCNF。分 解成2NF、3NF模式集的算法。 (5)MVD、4NF、JD和5NF的定义
本章重要概念 (1)关系模式的冗余和异常问题。 (2)FD的定义、逻辑蕴涵、闭包、推理规则、与 关键码的联系;平凡的FD;属性集 的闭包;推理规则的正确性和完备性;FD集的等价; 最小依赖集。 (3)无损分解的定义、性质、测试;保持依赖集的分 解。 (4)关系模式的范式:1NF,2NF,3NF,BCNF。分 解成2NF、3NF模式集的算法。 (5)MVD、4NF、JD和5NF的定义

关系数据库的规范化设计是指面对一个现实问题,如 何选择一个比较好的关系模式集合。规范化设计理 论主要包括三个方面的内容:数据依赖、范式和模 式设计方法。其中数据依赖起着核心的作用。数据 依赖研究数据之间的联系,范式是关系模式的标准, 模式设计方法是自动化设计的基础。规范化设计理 论对关系数据库结构的设计起着重要的作用
前言 ❖ 关系数据库的规范化设计是指面对一个现实问题,如 何选择一个比较好的关系模式集合。规范化设计理 论主要包括三个方面的内容:数据依赖、范式和模 式设计方法。其中数据依赖起着核心的作用。数据 依赖研究数据之间的联系,范式是关系模式的标准, 模式设计方法是自动化设计的基础。规范化设计理 论对关系数据库结构的设计起着重要的作用

4.1.1关系模型的外延和内涵 令外延就是通常所说的关系、表或当前值,它的基本性质已在 第2章介绍过。由于用户经常对关系进行插入、删除和修改 花 作,因此外延是与时间有关的,随着时间的推移在不断变 令内涵是与时间独立的,是对数据的定义以及数据完整性约束 的定义。对数据的定义包括对关系、属性、域的定义和说明 对数据完整性约束的定义涉及面较广,主要包括以下几个方 面 令·静态约束,涉及到数据之间联系(称为“数据依赖,data dependences)、主键和值域的设计。 动态约束,定义各种操作(插入、删除、修改)对关系值 的影响
4.1.1 关系模型的外延和内涵 ❖ 外延就是通常所说的关系、表或当前值,它的基本性质已在 第2章介绍过。由于用户经常对关系进行插入、删除和修改 操作,因此外延是与时间有关的,随着时间的推移在不断变 化。 ❖ 内涵是与时间独立的,是对数据的定义以及数据完整性约束 的定义。对数据的定义包括对关系、属性、域的定义和说明。 对数据完整性约束的定义涉及面较广,主要包括以下几个方 面: ❖ ·静态约束,涉及到数据之间联系(称为“数据依赖,data dependences)、主键和值域的设计。 ❖ ·动态约束,定义各种操作(插入、删除、修改)对关系值 的影响

4.1.2关系模式的冗余和异常问题 例4.1 TNAME ADDRESS C CNAME t1 al n1 tl a c2 n2 tl al n 3 t2 C4 t2 aaa 223 nn 42 t3 CC 6 n4
4.1.2 关系模式的冗余和异常问题 (一) ❖ 例4.1 TNAME ADDRESS C# CNAME t1 a1 c1 n1 t1 a1 c2 n2 t1 a1 c3 n3 t2 a2 c4 n4 t2 a2 c5 n2 t3 a3 c6 n4

4.1.2关系模式的冗余和异常问题 (二) 令数据冗余。如果一个教师教几门课程,那么这个教师的地址就要重复几次存 储 令操作异常。由于数据的冗余,在对数据操作时会引起各种异常: ①修改异常。譬如教师t1教三门课程,在关系中就会有三个元组。如果他的地址 成这教建(推址都婴座案一象个元组中的地址未更改,就会 ②插入异第。如果二个教师刚调,尚未分派教学任条:那么要将教师的姓名 属性C#和 奴据 库技术中空值的语义是非常复杂的,对带空值元组的检索和操作也十分麻烦。 删除异常。如果在图4.1要取消教师t3的教学任务,那么就要把这个教师的 元组删去,同时也把t3的地址信息从表中删去了。这是一种不合适的现象
4.1.2 关系模式的冗余和异常问题 (二) ❖ 数据冗余。如果一个教师教几门课程,那么这个教师的地址就要重复几次存 储。 ❖ 操作异常。由于数据的冗余,在对数据操作时会引起各种异常: ① 修改异常。譬如教师t1教三门课程,在关系中就会有三个元组。如果他的地址 变了,这三个元组中的地址都要改变。若有一个元组中的地址未更改,就会 造成这个教师的地址不惟一,产生不一致现象。 ② 插入异常。如果一个教师刚调来,尚未分派教学任务,那么要将教师的姓名 和地址存储到关系中去时,在属性C#和CNAME上就没有值(空值)。在数据 库技术中空值的语义是非常复杂的,对带空值元组的检索和操作也十分麻烦。 ③ 删除异常。如果在图4.1中要取消教师t3的教学任务,那么就要把这个教师的 元组删去,同时也把t3的地址信息从表中删去了。这是一种不合适的现象

4.1.2关系模式的冗余和异常问题 TNAME ADDRESS TNAME C# CNAME t1 t1 C n t2 a2 t c2 n2 t3 a3 tl C n t2 c4 n 4 t2 5 n2 t3 6 n 4
4.1.2 关系模式的冗余和异常问题 (三) TNAME ADDRESS TNAME C# CNAME t1 a1 t1 c1 n1 t2 a2 t1 c2 n2 t3 a3 t1 c3 n3 t2 c4 n4 t2 c5 n2 t3 c6 n4

42.1函数依赖的定义(-) 令定义4.1设有关系模式R(U),Ⅹ和Y是属 性集U的子集,函数依赖( functional dependency, 简记为FD)是形为X→Y的 个命题,只要r是R的当前关系,对r中任意两 个元组t和s,都有t[Ⅺ]=s[]蕴涵t[Y] =s[Y],那么称FDX→Y在关系模式R(U) 中成立
4.2.1 函数依赖的定义(一) ❖ 定义4.1 设有关系模式R(U),X和Y是属 性集U的子集,函数依赖(functional dependency,简记为FD)是形为X→Y的一 个命题,只要r是R的当前关系,对r中任意两 个元组t和s,都有t[X]=s[X]蕴涵t[Y] =s[Y],那么称FD X→Y在关系模式R(U) 中成立

4.2.1函数依赖的定义(二) 例4.2 A B C A B C D al al b2 c2 d2 a2 b2 d3 b2 d3 a3 b1 c4 d4 a3 b2 C4 d4
4.2.1 函数依赖的定义(二) ❖ 例4.2 A B C D A B C D a1 b1 c1 d1 a1 b1 c1 d1 a1 b1 c2 d2 a1 b2 c2 d2 a2 b2 c3 d3 a2 b2 c3 d3 a3 b1 c4 d4 a3 b2 c4 d4

42.1函数依赖的定义(三) 例4.3有一个关于学生选课、教师任课的关系模式: R( S#, SNAME, C#, GRADE, CNAME, TNAME, TAGE) 属性分别表示学生学号、姓名、选修课程的课程号、成绩、课程名、任课教师姓 名和年龄等意义。 如果规定,每个学号只能有一个学生姓名,每个课程号只能决定一门课程,那么 可写成下列FD形式 S#, SNAME O#→ CNAME 每个学生每学一门课程,有一个成绩,那么可写出下列FD: (S#,C#)→ GRADE 还可以写出其他一些FD: C#→( CNAME, TNAME,TAGE) TNAME→→TAGE
4.2.1 函数依赖的定义(三) 例4.3 有一个关于学生选课、教师任课的关系模式: R(S#,SNAME,C#,GRADE,CNAME,TNAME,TAGE) 属性分别表示学生学号、姓名、选修课程的课程号、成绩、课程名、任课教师姓 名和年龄等意义。 如果规定,每个学号只能有一个学生姓名,每个课程号只能决定一门课程,那么 可写成下列FD形式: S#→SNAME C#→CNAME 每个学生每学一门课程,有一个成绩,那么可写出下列FD: (S#,C#)→GRADE 还可以写出其他一些FD: C#→(CNAME,TNAME,TAGE) TNAME→TAGE
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)第3章 关系数据库语言SQL.ppt
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)第2章 关系模型和关系运算理论.ppt
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)第1章 数据库概论.ppt
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)第12章 XML技术.ppt
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)第11章 数据库与WWW.ppt
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)第10章 中间件技术.ppt
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)目录.ppt
- VC++程序设计_VisualC++(英文).doc
- VC++程序设计_AnlexVC++6(英文).ppt
- VC++程序设计_AnlexVC++5(英文).ppt
- VC++程序设计_AnlexVC++4(英文).ppt
- VC++程序设计_AnlexVC++3(英文).ppt
- VC++程序设计_AnlexVC++2(英文).ppt
- VC++程序设计_AnlexVC++1(英文).ppt
- 电子科技大学《Delphi程序设计》_面向对象程序设计基础.ppt
- 电子科技大学《Delphi程序设计》_认识delphi.ppt
- 电子科技大学《Delphi程序设计》_delphi语法基础.ppt
- 电子科技大学《Delphi程序设计》_delphi组件.ppt
- 电子科技大学《Delphi程序设计》_delphi应用.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第9章 预处理命令.ppt
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)第5章 数据库设计和ER模型.ppt
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)第6章 数据库的存储结构.ppt
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)第7章 系统实现技术.ppt
- 复旦大学:《数据库系统教程》电子教案(PPT教学课件)第9章 分布式数据库系统.ppt
- 太原广播电视大学《计算机应用基础》课程教学课件(PPT讲稿).ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第一章 绪论、第二章 线性表及其顺序存储结构.ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第七章 查找技术.ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第三章 线性链表.ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第九章 排序.ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第五章 树与二叉树.ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第六章 图.ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第四章 数组.ppt
- 21世纪高职高专新概念教材《数据结构(C语言描述)》1-5章.ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第七章 图.ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第九章 排序.ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第八章 查找.ppt
- 桂林电子科技大学:《数据结构》课程电子教案(PPT课件)第十章 文件.ppt
- 《电子商务》PPT教程(共五章).ppt
- 成都理工大学:《单片微机原理及应用》课程教学资源(PPT课件)结论、第一讲 单片机基础(主讲:陆坤).ppt
- 成都理工大学:《单片微机原理及应用》课程教学资源(PPT课件)第二讲 指令与编程.ppt