数据库原理与技术 陆勤 第5章 关系数据库的规范化设计

数据库原理与技术 陆勤 第5章 关系数据库的规范化设计

ID:40246524

大小:1.26 MB

页数:87页

时间:2019-07-29

数据库原理与技术 陆勤 第5章 关系数据库的规范化设计_第1页
数据库原理与技术 陆勤 第5章 关系数据库的规范化设计_第2页
数据库原理与技术 陆勤 第5章 关系数据库的规范化设计_第3页
数据库原理与技术 陆勤 第5章 关系数据库的规范化设计_第4页
数据库原理与技术 陆勤 第5章 关系数据库的规范化设计_第5页
资源描述:

《数据库原理与技术 陆勤 第5章 关系数据库的规范化设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章关系数据库的规范化设计研究目的:针对一个具体问题,应该构造几个关系,每个关系由哪些属性组成等。5.1数据依赖5.1.1关系模式中的数据依赖关系模式R(U,D,DOM,I,F)其中:R是关系名,U是R的属性集合{A1,A1,…,An},D是U中属性域的集合{D1,D1,…,Dn},DOM是U到D的映射,I是完整性约束集合,F是属性间的数据依赖关系集合。1影响数据库模式设计的主要是U和F,可将关系模式简化为一个三元组:R(U,F)当且仅当U上的一个关系r满足F时,r称为关系模式R(U,F)的一个关系。25.1.2数据依赖对关系模式的影响两种依赖:函数依赖(functionalde

2、pendency,简记为FD)多值依赖(multivalueddependency,简记为MVD)例:假设学校的数据库模式由一个单一的关系模式Student构成,则该关系模式的属性集合为U=(Sno,Sdept,Mname,Cname,Grade)其中,学生的学号(Sno)、所在系(Sdept)、系主任姓名(Mname)、课程名(Cname)和成绩(Grade)。该关系模式存在多种不良的函数依赖,不是好的关系。3这个关系模式存在4个问题:①数据冗余大:系主任名重复出现。②更新异常(更新代价大):某系更换系主任后,系统必须修改与该系学生有关的每一个元组。③插入异常:如果一个系刚成立,

3、尚无学生,就无法把这个系及其系主任的信息存入数据库。④删除异常:如果某个系的学生全部毕业了,在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。更新代价大4现实:①一个系有若干学生,但一个学生只属于一个系;②一个系只有一名主任;③一个学生可以选修多门课程,每门课程有若干学生选修;④每个学生所学的每门课程都有一个成绩。从上述事实可以得到属性组U上的一组函数依赖FF={SnoSdept,SdeptMname,(Sno,Cname)Grade}565.1.3有关概念1.函数依赖(超码)定义5.12.平凡函数依赖与非平凡函数依赖定义5.2在关系模式R(U)中,对于U的子集X和

4、Y,如果XY,但YX,则称XY是非平凡函数依赖。若YX,则称XY称为平凡函数依赖。73.完全函数依赖与部分函数依赖定义5.3在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X’,都有则称Y完全函数依赖于X(侯选码),记作例:(Sno,Cname)Grade若XY,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作f8例:(Sno,Sname)Sdept4.传递函数依赖定义5.4在关系模式R(U)中,如果XY,且YX(无此约束,则XZ),且则称Z传递函数依赖于X。记作:XZPtYXYZ但95.候选码(键)7定义5.5KUf105.2范式范式是

5、符合某一种级别的关系模式的集合。关系数据库中的关系满足不同程度要求的为不同范式。主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称为1NF。各种范式之间存在联系:1NF2NF3NFBCNF4NF5NF通常把某一关系模式R为第n范式简记为R∈nNF。115.2.1第一范式(1NF)定义5.6如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。第一范式的关系模式并不一定是好关系模式。例如:SLC(Sno,Sdept,Sloc,Cno,Grade)其中Sloc为学生住处,假设每个系的学生住在同一个地方。12S

6、LC的码为(Sno,Cno)。函数依赖包括:1314SLC关系存在以下4个问题:①插入异常:假若要插入一个Sno=95102,Sdeptc=IS,Sloc=N,但还未选课的学生,即这个学生无Cno,这样的元组不能插入SLC中。②删除异常:假定某个学生只选一门课,如95022只选3号课程修了一门课。现在连3号课程他也不选修了。那么3号课程这个数据项就要删除不应删除的信息。③数据冗余度大:如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储10次。④修改复杂:某个学生从数学系(MA)转到信息系(IS),这本来只需修改此学生元组中的Sdept值。但因为关系模式SLC中

7、还含有系的住处Sloc属性,学生转系将同时改变住处,因而还必须修改元组中Sloc的值。如果这个学生选修了K门课,由于Sdept,Sloc重复存储了K次,当数据更新时必须无遗漏地修改K个元组中全部Sdept,Sloc信息。155.2.2第二范式(2NF)关系模式SLC出现上述问题的原因是Sdept,Sloc对码的部分函数依赖。为了消除这些部分函数依赖,可以采用投影分解法,把SLC分解为两个关系模式:SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc)1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。