武汉大学计算机学院数据库课程组 第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 。 属性全集