章关系数据理论.PPT
文本预览下载声明
An Introduction to Database Systenm 第五章 关系数据理论 5.1 问题的提出 数据库设计的核心是构造完善、合理的数据库模式。 5.1 问题的提出 关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F) R:关系名 U:组成该关系的属性名集合 D:属性组U中属性所来自的域 DOM:属性向域的映象集合 F:属性间数据的依赖关系集合 5.1 问题的提出 关系模式由三部分组成,即它是一个三元组: R(U, F) R:关系名 U:组成该关系的属性名集合 F:属性间数据的依赖关系集合 5.1 问题的提出 (1)限定属性取值范围:例如学生成绩必须在0-100之间; (2)反映属性值间的相互关连(主要体现于值的相等与否),这称之为数据依赖,它是数据库模式设计的关键。 5.1 问题的提出 数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。 5.1 问题的提出 函数依赖(Functional Dependency,简记为FD) 函数依赖体现了n:1的关系 多值依赖(Multivalued Dependency,简记为MVD) 多值依赖体现了1:n的关系 其他 5.1 问题的提出 (1)关系模式中所蕴涵的数据依赖,可能会对关系的使用造成影响,或者引起大量的数据冗余。 (2)关系模式有“好”、“坏”之分。 5.1 问题的提出 例:描述学校的数据库: 学生的学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程名(Cname) 成绩(Grade) 5.1 问题的提出 学校数据库的语义: ⒈ 一个系有若干学生, 一个学生只属于一个系; ⒉ 一个系只有一名主任; ⒊ 一个学生可以选修多门课程, 每门课程有若干学生选修; ⒋ 每个学生所学的每门课程都有一个成绩。 5.1 问题的提出 属性组U上的一组函数依赖F: F ={ Sno → Sdept, Sdept → Mname, (Sno, Cname) → Grade } 5.1 问题的提出 5.1 问题的提出 5.2 规范化 规范化理论通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。 关系规范化的程度根据数据依赖程度分为第一范 式、第二范式、第三范式和第四范式等。 5.2 规范化 5.2.1 基本概念 5.2.1 基本概念-函数依赖 5.2.1 基本概念-函数依赖 5.2.1 基本概念-函数依赖 5.2.1 基本概念-函数依赖 5.2.1 基本概念-函数依赖 5.2.1 基本概念-码 5.2.1 基本概念-码 定义5.5 关系模式 R 中属性或属性组X 并非 R 的码,但 X 是另一个关系模式的码,则称 X 是 R 的外部码(Foreign key)也称外码。 5.2.1 基本概念-多值依赖 例: 某一门课程由多个教员讲授,使用相同的一套参考书 ,每个教员可以讲授多门课程,每种参考书可以供多门课程使用。 关系模式Teaching(C, T, B) 课程C、教师T 和 参考书B 5.2.1 基本概念-多值依赖 5.2.1 基本概念-多值依赖 Teaching模式中存在的问题 (1)数据冗余度大 (2)插入操作复杂 (3)删除操作复杂 (4)修改操作复杂 5.2.1 基本概念-多值依赖 定义5.9 设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且Z=U-X-Y,多值依赖 X→→Y成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关 例 Teaching(C, T, B) 对于(C,B),T有一组值与之对应,这组值仅仅决定于C值,而不论B取何值。C →→T 5.2.1 基本概念-多值依赖 另一形式化定义:在R(U)的任一关系r中,如果存在元组t,s 使得t[X]=s[X],那么就必然存在元组 w,v? r,(w,v可以与s,t相同),使得w[X]=v[X]=t[X],而w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z](即交换s,t元组的Y值所得的两个新元组必在r中),则Y多值依赖于X,记为X→→Y。这里,X,Y是U的子集,Z=U-X-Y。 5.2.1 基本概念-多值依赖 5.2.1 基本概念
显示全部