中国高校课件下载中心 》 教学资源 》 大学文库

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

文档信息
资源类别:文库
文档格式:PPT
文档页数:82
文件大小:1.33MB
团购合买:点击进入团购
内容简介
4.1 函数依赖 4.2 关系模式的规范化 4.3 数据依赖公理 4.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

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档