武汉大学:《数据库系统概论》课程教学资源(PPT课件讲稿)第4章 关系数据库理论

武汉大学计算机学院数据库课程组 第4章关系数据理论 41函数依赖 42关系模式的规范化 43数据依赖公理 44关系模式的分解 本章小结 合pp
武汉大学计算机学院数据库课程组 4.1 函数依赖 4.2 关系模式的规范化 4.3 数据依赖公理 4.4 关系模式的分解 第4章 关系数据理论 本章小结

武汉大学计算机学院数据库课程组 4.1丽数救 、问题一一如何构造一个关系模式 ■例:假设有学生关系模式 S(S#, SNAME, CLASS, C#, TNAME, TAGE, ADDRESS, GRADE) 其中,S#一学号、 SNAME一学生姓名、 CLASS一班级 C#一课程号、 TNAME一教师姓名、TAGE一教师年龄、 ADDRESS一教师地址、 GRADE一成绩。 关系S存在以下问题: 1.数据冗余度高。 SNAME、 CLASS、 TNAME、TAE、 ADDRESS重复存储多次。 由由
武汉大学计算机学院数据库课程组 4.1 函数依赖 一、问题——如何构造一个关系模式 ◼ 例:假设有学生关系模式 其中,S#—学号、 SNAME—学生姓名、 CLASS—班级、 C#—课程号、 TNAME—教师姓名、 TAGE—教师年龄、 ADDRESS—教师地址、 GRADE—成绩。 S(S#,SNAME,CLASS,C#,TNAME,TAGE,ADDRESS,GRADE) 关系S存在以下问题: 1.数据冗余度高。 SNAME、CLASS、TNAME、TAGE、ADDRESS重复存储多次

武汉大学计算机学院数据库课程组 4.1函数依赖 数据修改复杂 3.插入异常。 插入异常是指应该插入到数据库中的数据不能执 行插入操作的情形。 关系S的主键:(S#,C#) 从在s#、c#、和(S#c#)上出现NULL值去分析。 注意:当一个元组在主键的属性上部分或全部为空 时,该元组不能插入到关系中
武汉大学计算机学院数据库课程组 4.1函数依赖 2.数据修改复杂。 3.插入异常。 插入异常是指应该插入到数据库中的数据不能执 行插入操作的情形。 关系S的主键:(S#,C#) 从在S#、C#、和(S#,c#)上出现NULL值去分析。 注意:当一个元组在主键的属性上部分或全部为空 时,该元组不能插入到关系中

武汉大学计算机学院数据库课程组 4.1函数依赖 4.删除异常。 删除异常是指不应该删去的数据被删去的情形。 例如:选修某门课的所有学生都退选时,删除相关元组, 会丢失该课程老师的信息。 解决:关系模式分解(关系规范化) 分解为ST(S#, SNAME, CLASS) CT(C#, TNAME) TA(TNAME, TAGE, ADDRESS) SC(S#, C#, GRADE 碰心心
武汉大学计算机学院数据库课程组 4.1函数依赖 4.删除异常。 删除异常是指不应该删去的数据被删去的情形。 例如:选修某门课的所有学生都退选时,删除相关元组, 会丢失该课程老师的信息。 ▪ 解决:关系模式分解(关系规范化) ▪ 分解为 ST(S#,SNAME,CLASS) CT(C#,TNAME) TA(TNAME,TAGE,ADDRESS) SC(S#,C#,GRADE)

武汉大学计算机学院数据库课程组 4.1数依赖 、函数依赖 functional dependency, abbr.FD 设:R(A1,A2,…,An)=R(U) X,Y,Z为U的不同子集 属性全集 定义4.1: ①函数依赖是完整性约束的一种,它推广了关键词 的概念。Ift1X=t2 X then t1Y=t2Y ②函数依赖:若R的任意关系有:对X中的每个属性值, 在Y中都有惟一的值与之对应,则称Y函数于X, 记作X→Y。 心<心
武汉大学计算机学院数据库课程组 4.1函数依赖 二、函数依赖functional dependency, abbr. FD ◼ 设:R(A1,A2,…An)=R( U ) ◼ X,Y,Z 为U的不同子集 ◼ 定义4.1: ① 函数依赖 是完整性约束的一种,它推广了关键词 的概念。If t1.X=t2.X, then t1.Y=t2.Y ②函数依赖:若R的任意关系有:对X中的每个属性值, 在Y中都有惟一的值与之对应,则称Y函数依赖于X, 记作 X→Y 。 属性全集

武汉大学计算机学院数据库课程组 4.1函数依赖 例:指出下列关系R中的函数依赖。 A al b1 C1 al b1 c1 a1 b2 c2 ddd a2 b1 C3 d 1 FD:AB->C、A→C、C→A、AB→D? Insert into R values(al, b1, c2, d1) Fd E key constraint NEXT 合pp
武汉大学计算机学院数据库课程组 4.1函数依赖 ◼ 例:指出下列关系R中的函数依赖。 A B C D a1 b1 c1 d1 a1 b1 c1 d2 a1 b2 c2 d1 a2 b1 c3 d1 ◼ FD: AB->C、 A→C、C→A、AB→D? ◼ Insert into R values(a1, b1, c2, d1) ◼ FD = key constraint ?

武汉大学计算机学院数据库课程组 4.1函数依赖 函数依赖与属性间的关系有: 若X,Y是1一1关系, 则存在X→Y或Y→X。如学号与借书证号 若X,Y是m一1关系, 则存在X→Y但Y+>X。如学号与姓名 若X,Y是m一n关系, 则X,Y间不存在函数依赖关系。如姓名与课程 CF:实体间的联系 NoTE:函数依赖的方向性
武汉大学计算机学院数据库课程组 4.1函数依赖 函数依赖与属性间的关系有: ◼ 若X,Y是1 — 1关系, 则存在 X→Y或Y →X 。如学号与借书证号 ◼ 若X,Y是m — 1关系, 则存在 X→Y但 Y+> X。如学号与姓名 ◼ 若X,Y是m — n关系, 则X,Y间不存在函数依赖关系。如姓名与课程 CF: 实体间的联系 NOTE: 函数依赖的方向性

武汉大学计算机学院数据库课程组 4.1函数依赖 例试指出学生关系S(S#, SNAME, CLASS,C#, TNAME,TAGE, ADDRESS, GRADE)中存在的函数依赖关系 S#→ SNAME(每个学号只能有一个学生姓名) S#→ CLASS(每个学号只能有一个班级) C#→ TNAME(设每门课程只有一个教师任教,而一个教师可教多门 课程,见CT表) TNAME→TAGE(每个教师只能有一个年龄) TNAME→ ADDRESS(每个教师只能有一个地址) (S#,C#)→ GRADE(每个学生学习一门课只能有一个成绩) (S#,C#)→ SNAME、(S#,C#)→ CLASS、(S#,C#)→C#、 (S#,C#)→ TNAME、(S#,C#)→TAGE、 (S#,C#)→ ADDRESS 合pp
武汉大学计算机学院数据库课程组 4.1函数依赖 ◼ 例 试指出学生关系S(S#,SNAME,CLASS,C#,TNAME,TAGE, ADDRESS,GRADE)中存在的函数依赖关系。 S#→SNAME(每个学号只能有一个学生姓名) S#→CLASS(每个学号只能有一个班级) C#→TNAME(设每门课程只有一个教师任教,而一个教师可教多门 课程,见CT表) TNAME→TAGE(每个教师只能有一个年龄) TNAME→ADDRESS(每个教师只能有一个地址) (S#,C#)→GRADE(每个学生学习一门课只能有一个成绩) (S#,C#)→SNAME、 (S#,C#)→CLASS、 (S#,C#)→C#、 (S#,C#)→TNAME、 (S#,C#)→TAGE、 (S#,C#)→ADDRESS

武汉大学计算机学院数据库课程组 4.1函数依赖 、函数依赖的分类 X→Y,但Y不包含于X则称X是非平凡的函数依赖。 X→Y,但Y≌Ⅹ则称X是平凡的函数依赖 若X→Y,则X叫做决定因素。 若X→Y,Y→X,则记作:XY。 定义42:在R(U)中,XYZ为U的不同子集。 ■完全函数依赖:是指X→Y,且对任何X的真子集X, 都有X+>Y,记作:XF>Y ■部分函数依赖:是指X→Y,且存在X的真子集X, 有X->Y,记作:XP、V。 定义4.3:在R(U)中 传递函数依赖:是指若X→Y(Y不包含于X,Y+>X, 而Y→Z。记作:X厂>Z。 合pp
武汉大学计算机学院数据库课程组 4.1函数依赖 三、函数依赖的分类 ▪ X→Y,但Y 不包含于 X则称X是非平凡的函数依赖。 ▪ X→Y,但Y ⊆ X 则称X是平凡的函数依赖。 ▪ 若X→Y ,则X叫做决定因素。 ▪ 若X→Y,Y →X,则记作: XY。 定义4.2:在R( U)中,X, Y, Z为U的不同子集。 ◼ 完全函数依赖: 是指 X→Y,且对任何X的真子集X’, 都有X’+>Y,记作:X F > Y。 ◼ 部分函数依赖: 是指X→Y,且存在X的真子集X’, 有X’->Y, 记作:X P > Y。 定义4.3:在R( U )中 ◼ 传递函数依赖:是指若X→Y (Y 不包含于 X), Y +> X , 而Y → Z。记作: X T > Z

武汉大学计算机学院数据库课程组 4.1函数依赖 左部为单属性的函数依赖一定是完全函数依赖。 ■左部为多属性的函数依赖,如何判断其是否为完全函数依赖? 方法:取真子集,看其能否决定右部属性。 例:试指出学生关系S中存在的完全函数依赖和部分函数依赖。 ■S#→ SNAME,S#→ CLASS, TNAME→TAGE, TNAME→ ADDRESS,C#→ TNAME都是完全函数依赖。 (S#,C#)→ GRADE是一个完全函数依赖,因为S#+> GRADE, C#十≥ GRaDE 合pp
武汉大学计算机学院数据库课程组 4.1函数依赖 ◼ 左部为单属性的函数依赖一定是完全函数依赖。 ◼ 左部为多属性的函数依赖,如何判断其是否为完全函数依赖? 方法:取真子集,看其能否决定右部属性。 例:试指出学生关系S中存在的完全函数依赖和部分函数依赖。 ◼ S#→SNAME,S#→CLASS,TNAME→TAGE, TNAME→ADDRESS,C#→TNAME都是完全函数依赖。 ◼ (S#,C#)→GRADE 是一个完全函数依赖,因为S#+>GRADE, C#+>GRADE
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安电子科技大学:《信息系统安全》课程教学资源(PPT课件讲稿)第五章 操作系统安全、第六章 网络安全、第七章 应用安全、第八章 管理安全.ppt
- 华中科技大学:《操作系统原理》课程电子教案(PPT教学课件)第一章 绪论Principles of Operating System(主讲:郑然).ppt
- 《图像处理与计算机视觉 Image Processing and Computer Vision》课程教学资源(PPT课件讲稿)Chapter 07 Mean-shift and Cam-shift.pptx
- 安徽工贸职业技术学院:《计算机组装与维护》课程教学资源(PPT课件讲稿)项目四 搭建微型计算机软件系统.ppt
- 《网站建设》课程教学资源(PPT课件讲稿)第五章 Javascript脚本语言.ppt
- 中央电大:《计算机组成原理》课程教学资源(PPT课件讲稿)教学辅导.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)图论补充内容.pptx
- 《编译原理》课程教学资源(PPT课件讲稿)第六章 句法结构模式识别.ppt
- 《数据库原理》课程教学资源(PPT课件讲稿)第五章 数据库的存储结构.ppt
- 清华大学出版社:《C程序设计》课程PPT教学课件(第三版)第二章 程序的灵魂——算法.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第3章 最简单的C程序设计.ppt
- 香港科技大学:Overviewof the Internet of Things(IoTs,PPT课件讲稿).ppsx
- Linux操作系统使用(PPT讲稿,简明基础教程,共七章).ppt
- Linux操作系统初级培训(PPT讲稿)DSC认证培训体系.ppt
- Routing in Vehicular Ad Hoc Network(PPT课件讲稿).ppt
- 中国科学院:超级计算平台Linux初级培训(PPT讲稿,2009.11).ppt
- 《大学计算机基础》课程电子教案(PPT教学课件)第5章 多媒体技术基础.ppt
- 香港科技大学:Transaction Management、Serializability Theory and Concurrency Control、Lock-Based Protocols、Deadlock Problems、Recovery.ppt
- 沈阳理工大学:《计算机网络技术及应用》课程教学资源(PPT课件讲稿)第一章 互联网与网站 Interent & Website(主讲:廉哲).ppt
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)第六章 应用层.pptx
- 并行算法概述(PPT课件讲稿).pptx
- 《计算机网络》课程教学资源(PPT讲稿)项目1 构建简单互连网络(Windows XP).ppt
- 《C语言程序设计》课程电子教案(PPT教学课件)第5章 选择控制结构.ppt
- 上海交通大学:《软件工程》课程教学资源(课件讲稿)07 测试.pdf
- 南京大学:人工智能课程概况(PPT讲稿)从图灵奖看人工智能创新性思维的发展.pdf
- 非线性编辑软件(PPT课件讲稿)Premiere Pro.pptx
- Java平台企业版(J2EE)原理(PPT讲稿).ppt
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第4章 文字处理Word.pptx
- 广东工业大学:数据挖掘(PPT讲稿).ppt
- 分布式查询处理 Distributed Query Processing(PPT讲稿)查询处理、查询分解与定位.ppt
- 多媒体技术:多媒体信息处理(Multimedia Computing)PPT讲义.ppt
- 高校数字化图书馆知识服务网络共建共享方案的建议(王明亮).ppt
- Linux操作系统下C语言编程入门(电子书).pdf
- 北京大学精品课程:浅谈软件项目管理(陈长城).pdf
- 河南中医药大学信息管理与信息系统教研室:第十四章 电子政务(刘俊娟).pptx
- 人工智能和模式识别与医学专家系统(PPT课件讲稿).ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)引言、背景概述.ppt
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第五章 总线及其形成.ppt
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第八章 中断系统与可编程中断控制器8259A.pptx
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第六章 存储器设计.pptx