关系数据理论(上海电力学院).ppt
《关系数据理论(上海电力学院).ppt》由会员分享,可在线阅读,更多相关《关系数据理论(上海电力学院).ppt(68页珍藏版)》请在三一办公上搜索。
1、第四章 关系数据理论(之一),推荐参考书:(美)Abraham Silberschatz Henry F.Korth S.Sudarshan 著 杨冬青 唐世渭等译 机械工业出版社,学习要点:(1)了解数据库逻辑设计中关系模式的异常问题。(2)掌握规范化理论,各种范式及规范化过程。(3)掌握函数依赖和多值依赖的相关理论及推理规则。(4)掌握闭包及计算算法。(5)掌握最小函数依赖集计算算法。(6)掌握候选码求解算法。(7)掌握关系模式分解算法。,内容提要:4.1基本知识点4.2规范化4.3数据依赖公理系统4.4模式分解4.5总结,4.1基本知识点概念回顾关系:描述实体、属性、实体间的联系。从形式
2、上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。关系模式:关系名(属性1,属性2,属性n)。例如:学生(学号,姓名,性别,出身年月,系)关系数据库:基于关系模型的数据库,利用关系来描述现实世界。从形式上看,它由一组关系组成。关系数据库的模式:定义这组关系的关系模式的全体。,关系的基本性质(二维表是关系的约束条件):(1)表中的每一个分量须是不可分的数据项。例如(2)表中的每一列须出自同一个域。(3)行、列无序,但每行须唯一。(4)关系中的任意两个元组不能相同。,问题的提出一、关系数据库逻辑设计(1)目的:针对实际问题,构造出合适的数据模式。(2)数据库逻辑设计的工具关系数据库的规范化理
3、论,二、实例分析例1、某同学设计的学校数据库的一个关系st:,返回,关系模式如下:st(sno,sname,sdept,dname,cname,grade)Sno:学号 sname:学生姓名 sdept:所在系 dname:系主任名 Cname:课程名(不重名)grade:成绩 主码为:(sno,cname)由现实世界的已知事实得知:(1)一个系有若干学生,但一个学生只属于一个系;(2)一个系只有一位系主任。,(3)一个学生可以选修多门课程,每门课程有若干学生选修。(4)每个学生学习每一门课程获得一个成绩。三、这个关系模式存在的问题如下:数据冗余:由于一个学生,可以选修多门课程,导致sname
4、学生姓名,sdept系名、dname系主任名也需重复多次存储。插入异常(Insertion Anomalies):若一学生,一门课程都未选,该学生的信息将无法插入(因为主码不能为空或部分为空)。(该插入的数据插入不进去),删除异常(Deletion Anomalies):当某系的学生全毕业时,系及系主任的信息也一并将删除,无法得到保存。(不该删除的数据不得不删除)更新异常(Update Anomalies)(数据不一致性):由于数据冗余过多,如对一选了多门课程的一学生的姓名做修改,可能仅修改部分相关的记录,造成了数据不正确,存储的数据不一致。,四、结论:(1)st关系模式不是一个好的模式。(2
5、)“好”的模式:体现客观世界的信息,不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。(3)模式“不好”的原因:由于模式中存在某些数据依赖引起的。(4)解决方法:通过分解关系模式来消除关系模式中不合适的数据依赖。如将st分解为学生信息:学生(sno,sname,sdept)系信息:sd(sdept,dname)学生选课信息:sc(sno,cname,grade),是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系;是现实世界属性间相互联系的抽象;是数据内在的性质;是语义的体现。,数据依赖一、定义数据依赖:实体内部各属性间的联系。,二、数据依赖的分类(1)函数依赖(Functi
6、onal Dependency,简记为FD)(2)多值依赖(Multivalued Dependency,简记为MVD)(3)其他数据依赖(略),关系模式的形式化定义定义:关系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)说明:R:关系名;U:组成该关系的属性名集合;D:属性组U中属性所来自的域;DOM:属性到域的映象集合;F:属性间数据的依赖关系集合。,关系模式R(U,D,DOM,F)简化为一个三元组:R当且仅当U上的一个关系r满足F时,r称为关系模式R的一个关系。,函数依赖一、函数依赖定义及相关术语定义1:设有关系模式R(A1,A2,An)或简记R(U),X,Y是U的子集,r
7、是R的任一可能关系。如果对于r的任意两个元组t1、t2,由t1X=t2X,可导致t1Y=t2Y,则称X函数确定Y,或Y函数依赖于X,记作XY。X称为这个函数依赖的决定属性集(Determinant)。若XY,YX,则记作XY。若Y不函数依赖于X,则记作XY。空集可依赖于任何一个属性集。,实例,二、函数依赖与属性关系属性间的关系(通过取等值体现出来)有3种,但并不是每一种关系中都存在函数依赖。设关系模式R(U),属性集X、Y是U的子集,则有:(1)若X和Y之间是“1:1”关系,则存在函数依赖:XY和YX。如上例中st关系模式中,系名和系主任(若一个系只有一个系主任,一个系主任只对应一个系)则存在
8、函数依赖:sdeptdname或dnamesdept,实例,(2)若X和Y之间是“m:1”关系,则存在函数依赖:XY。如上例中st关系模式中,系名和学生学号(若一个系有若干学生,一个学生只对应一个系),则存在函数依赖:snosdept(3)若X和Y之间是“m:n”关系,则不存在函数依赖。如上例中st关系模式中,课程号和学生学号(若一个课程可被若干学生选修,一个学生可选修多门课程)。snocno或cnosno,实例,说明:1、函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。2、函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。例如“
9、姓名年龄”这个函数依赖只有在不允许有同名人的条件下成立。3、数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在,则拒绝装入该元组。,例如:(参见实例1)St(Sno,Sname,Sdept,dname,cname,grade)按前面所给出的语义得出函数依赖为:F Sno Sdept,SnoSname,Sdept dname,(Sno,Cname)Grade,三、平凡函数依赖与非平凡函数依赖定义2:设XY是一个函数依赖,若YX,则称XY是一个平凡函数依赖。若YX,则称XY是一个非平凡函数依赖。例如:在
10、关系SC(Sno,Cno,Grade)中,非平凡函数依赖:(Sno,Cno)Grade 平凡函数依赖:(Sno,Cno)Sno(Sno,Cno)Cno注:平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明,我们总是讨论非平凡函数依赖。,四、完全函数依赖和部分函数依赖定义3:设XY是一个函数依赖,并且对于任何XX,XY都不成立,则称XY是一个完全函数依赖。即Y函数依赖于整个X,记作X F Y。若有XX,XY成立,则称Y部分函数依赖于X,记作X P Y。例如:参见例1st(sno,sname,sdept,dname,cname,grade)主码:(sno,cname)snosdept(
11、sno,cname)p sdeptsnograde,cnamegrade(sno,cname)F grade,五、传递函数依赖定义4:设R(U)是一个关系模式,X,Y,ZU,如果XY,YZ且YX,Z-Y,Y-X 成立,则称Z传递函数依赖于X,记作X T Z。注:如果YX,即XY,则Z直接依赖于X。例:在关系St(Sno,sname,Sdept,dname,cname,grade)中,有:Sno Sdept,Sdept dname Sno T dname,4.2 规范化(Normalization)p172-183规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决
12、插入异常、删除异常、更新异常和数据冗余问题。码定义5:设关系模式R,如果函数依赖XU在R上成立,且不存在任何X X,使得X U也成立(即X F U),则称X是R的一个候选码(Candidate Key)。主属性(prime atrribute):候选码中包含的属性。,例,非主属性(非码属性)(Nonprime attribute):不包含在候选码中的属性。若候选码多于一个,可以选定其中一个为主码(primary key)。定义6:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外码(Foreign key)。全码(All-key):关系模式R中整个属性集U都是码。,
13、范式是符合某一种级别的关系模式的集合。用以防止异常的关系和技术称作范式。关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。范式的种类:第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)Codd和Boyce第四范式(4NF)Fagin第五范式(5NF),范式(Normal Forms),各种范式之间存在联系:某一关系模式R为第n范式,可简记为RnNF。用途:设计数据库;验证设计结果的合理性,用其指导优化过程。规范化:一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这一转换过程称为规范化。,一、第一范式(1NF)(1)1N
14、F的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。(要求属性是原子的)(2)不满足第一范式的数据库模式不能称为关系数据库。(3)但是满足第一范式的关系模式并不一定是一个好的关系模式。(4)第一范式不能排除数据冗余和更新异常等问题,因为存在非主属性部分依赖于码。,实例,二、第二范式(2NF)(1)2NF的定义若R1NF,且每一个非主属性完全函数依赖于码,则R2NF。注:不能部分依赖于码例如:关系模式sc(sno,cno,sname,sdept,grade)主码:(sno,cno),包含有函数依赖:(sno,cno)F grade snosname snosdept(sno,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据 理论 上海 电力 学院

链接地址:https://www.31ppt.com/p-6553394.html