版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统概论AnIntroductiontoDatabaseSystem第6章关系数据理论
数据库系统概论6.2.2码定义6.4设K为关系模式R<U,F>中的属性或属性组合。若KfU,则K称为R的一个侯选码(CandidateKey)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primarykey)。主属性与非主属性ALLKEY6.2.2码定义6.4设K为关系模式R<U,F>中的属外部码定义6.5关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreignkey)也称外码主码又和外部码一起提供了表示关系间联系的手段。外部码定义6.5关系模式R中属性或属性组X并非R6.2.3范式范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。范式的种类:
第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF)6.2.3范式范式是符合某一种级别的关系模式的集合。第一范6.2.3范式各种范式之间存在联系:某一关系模式R为第n范式,可简记为R∈nNF。满足最低要求的(即关系中每一个分量必须是不可分的数据项)关系模式属于第一范式简称R∈1NFNF5NF4BCNFNF3NF2NF1ÉÉÉÉÉ6.2.3范式各种范式之间存在联系:NF5NF4BCNFN第6章关系数据理论6.1问题的提出6.2规范化6.3数据依赖的公理系统6.4模式的分解第6章关系数据理论6.1问题的提出6.2.42NF1NF的定义 如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。但是满足第一范式的关系模式并不一定是一个好的关系模式。6.2.42NF1NF的定义2NF例:关系模式SLC(Sno,Sdept,Sloc,Cno,Grade)Sloc为学生住处,假设每个系的学生住在同一个地方。函数依赖包括:(Sno,Cno)fGradeSno→Sdept(Sno,Cno)PSdeptSno→Sloc(Sno,Cno)PSlocSdept→Sloc2NF例:关系模式SLC(Sno,Sdept,S2NFSLC的码为(Sno,Cno)SLC满足第一范式。非主属性Sdept和Sloc部分函数依赖于码(Sno,Cno)SnoCnoGradeSdeptSlocSLC2NFSLC的码为(Sno,Cno)SnoCnoGradSLC不是一个好的关系模式(1)插入异常 假设Sno=95102,Sdept=IS,Sloc=N的学生还未选课,因课程号是主属性,因此该学生的信息无法插入SLC。(2)删除异常假定某个学生本来只选修了3号课程这一门课。现在因身体不适,他连3号课程也不选修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。SLC不是一个好的关系模式(1)插入异常SLC不是一个好的关系模式(3)数据冗余度大如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储了10次。(4)修改复杂例如学生转系,在修改此学生元组的Sdept值的同时,还可能需要修改住处(Sloc)。如果这个学生选修了K门课,则必须无遗漏地修改K个元组中全部Sdept、Sloc信息。
SLC不是一个好的关系模式(3)数据冗余度大2NF原因Sdept、Sloc部分函数依赖于码。解决方法SLC分解为两个关系模式,以消除这些部分函数依赖SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc)2NF原因2NF函数依赖图:SnoCnoGradeSCSLSnoSdeptSloc2NF函数依赖图:SnoCnoGradeSCSLSnoSde2NF2NF的定义
定义6.6若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。 例:SLC(Sno,Sdept,Sloc,Cno,Grade)∈1NFSLC(Sno,Sdept,Sloc,Cno,Grade)∈2NF SC(Sno,Cno,Grade)∈2NFSL(Sno,Sdept,Sloc)∈2NF2NF2NF的定义第二范式(续)采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。第二范式(续)采用投影分解法将一个1NF的关系分解为多个2例:2NF关系模式SL(Sno,Sdept,Sloc)中函数依赖:Sno→SdeptSdept→SlocSno→Sloc Sloc传递函数依赖于Sno,即SL中存在非主属性对码的传递函数依赖。例:2NF关系模式SL(Sno,Sdept,Sloc)中函数依赖图:SLSnoSdeptSloc函数依赖图:SLSnoSdeptSloc解决方法采用投影分解法,把SL分解为两个关系模式,以消除传递函数依赖:SD(Sno,Sdept)DL(Sdept,Sloc)SD的码为Sno,DL的码为Sdept。解决方法SD的码为Sno,DL的码为Sdept。SnoSdeptSDSdeptSlocDLSD的码为Sno,DL的码为Sdept。SnoSdeptS3NF3NF的定义 定义6.8关系模式R<U,F>
中若不存在这样的码X、属性组Y及非主属性Z(ZY),使得X→Y,Y→X,Y→Z,成立,则称R<U,F>∈3NF。例:SL(Sno,Sdept,Sloc)∈2NFSL(Sno,Sdept,Sloc)∈3NFSD(Sno,Sdept)∈3NFDL(Sdept,Sloc)∈3NF3NF3NF的定义3NF若R∈3NF,则R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。如果R∈3NF,则R也是2NF。采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。将一个2NF关系分解为多个3NF的关系后,并不能完全消除关系模式中的各种异常情况和数据冗余。3NF若R∈3NF,则R的每一个非主属性既不部分函数依赖于例:在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。每一教师只教一门课,每门课由若干教师教。某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称。(S,J)→T,(S,T)→J,T→J例:在关系模式STJ(S,T,J)中,S表示学生,T表示教师6.2.6BC范式(BCNF)定义6.9设关系模式R<U,F>∈1NF,如果对于R的每个函数依赖X→Y,若X不包含Y,则X必含有候选码,那么R∈BCNF。若R∈BCNF每一个决定属性集(因素)都包含(候选)码R中的所有属性(主,非主属性)都完全函数依赖于码R∈3NF若R∈3NF则R不一定∈BCNF3NF的修正形式是Boyee―Codd范式(简称BCNF),是由Boyce与Codd提出的。6.2.6BC范式(BCNF)定义6.9设关系模BCNF例:在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。每一教师只教一门课,每门课由若干教师教。某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称。(S,J)→T,(S,T)→J,T→JBCNF例:在关系模式STJ(S,T,J)中,S表示学生BCNFSTJ∈3NF
(S,J)和(S,T)都可以作为候选码
S、T、J都是主属性不存在非主属性部分和传递函数依赖与码T→J,T是决定属性集,T不是候选码STJ∈BCNFBCNFSTJ∈3NF
BCNF 解决方法:将STJ分解为二个关系模式:ST(S,T)∈BCNF,TJ(T,J)∈BCNFSTSTTJTJ没有任何属性对码的部分函数依赖和传递函数依赖BCNF 解决方法:将STJ分解为二个关系模式:STSTTJ根据语义其函数依赖集为:F={(城市名,街道名)→邮政编码,邮政编码→城市名}所以非主属性邮政编码完全函数依赖于码,且无传递依赖,属于3NF。但邮政编码也是一个决定因素,它没有包含码,所以该关系不属于BCNF。
补充例通讯(城市名,街道名,邮政编码)该关系的码是(城市名,街道名)根据语义其函数依赖集为:补充例通讯(城市名,街道名,3NF与BCNF的关系如果关系模式R∈BCNF,必定有R∈3NF如果R∈3NF,且R只有一个属性是码,则R必属于BCNF。3NF与BCNF的关系如果关系模式R∈BCNF,BCNF的关系模式所具有的性质⒈所有非主属性都完全函数依赖于每个候选码⒉所有主属性都完全函数依赖于每个不包含它的候选码⒊没有任何属性完全函数依赖于非码的任何一组属性BCNF的关系模式所具有的性质⒈所有非主属性都完全函数依赖
下课了。。。休息一会儿。。。研下课了。。。休息一会儿。。。研数据库系统概论AnIntroductiontoDatabaseSystem第6章关系数据理论
数据库系统概论6.2.2码定义6.4设K为关系模式R<U,F>中的属性或属性组合。若KfU,则K称为R的一个侯选码(CandidateKey)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primarykey)。主属性与非主属性ALLKEY6.2.2码定义6.4设K为关系模式R<U,F>中的属外部码定义6.5关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreignkey)也称外码主码又和外部码一起提供了表示关系间联系的手段。外部码定义6.5关系模式R中属性或属性组X并非R6.2.3范式范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。范式的种类:
第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF)6.2.3范式范式是符合某一种级别的关系模式的集合。第一范6.2.3范式各种范式之间存在联系:某一关系模式R为第n范式,可简记为R∈nNF。满足最低要求的(即关系中每一个分量必须是不可分的数据项)关系模式属于第一范式简称R∈1NFNF5NF4BCNFNF3NF2NF1ÉÉÉÉÉ6.2.3范式各种范式之间存在联系:NF5NF4BCNFN第6章关系数据理论6.1问题的提出6.2规范化6.3数据依赖的公理系统6.4模式的分解第6章关系数据理论6.1问题的提出6.2.42NF1NF的定义 如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。但是满足第一范式的关系模式并不一定是一个好的关系模式。6.2.42NF1NF的定义2NF例:关系模式SLC(Sno,Sdept,Sloc,Cno,Grade)Sloc为学生住处,假设每个系的学生住在同一个地方。函数依赖包括:(Sno,Cno)fGradeSno→Sdept(Sno,Cno)PSdeptSno→Sloc(Sno,Cno)PSlocSdept→Sloc2NF例:关系模式SLC(Sno,Sdept,S2NFSLC的码为(Sno,Cno)SLC满足第一范式。非主属性Sdept和Sloc部分函数依赖于码(Sno,Cno)SnoCnoGradeSdeptSlocSLC2NFSLC的码为(Sno,Cno)SnoCnoGradSLC不是一个好的关系模式(1)插入异常 假设Sno=95102,Sdept=IS,Sloc=N的学生还未选课,因课程号是主属性,因此该学生的信息无法插入SLC。(2)删除异常假定某个学生本来只选修了3号课程这一门课。现在因身体不适,他连3号课程也不选修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。SLC不是一个好的关系模式(1)插入异常SLC不是一个好的关系模式(3)数据冗余度大如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储了10次。(4)修改复杂例如学生转系,在修改此学生元组的Sdept值的同时,还可能需要修改住处(Sloc)。如果这个学生选修了K门课,则必须无遗漏地修改K个元组中全部Sdept、Sloc信息。
SLC不是一个好的关系模式(3)数据冗余度大2NF原因Sdept、Sloc部分函数依赖于码。解决方法SLC分解为两个关系模式,以消除这些部分函数依赖SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc)2NF原因2NF函数依赖图:SnoCnoGradeSCSLSnoSdeptSloc2NF函数依赖图:SnoCnoGradeSCSLSnoSde2NF2NF的定义
定义6.6若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。 例:SLC(Sno,Sdept,Sloc,Cno,Grade)∈1NFSLC(Sno,Sdept,Sloc,Cno,Grade)∈2NF SC(Sno,Cno,Grade)∈2NFSL(Sno,Sdept,Sloc)∈2NF2NF2NF的定义第二范式(续)采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。第二范式(续)采用投影分解法将一个1NF的关系分解为多个2例:2NF关系模式SL(Sno,Sdept,Sloc)中函数依赖:Sno→SdeptSdept→SlocSno→Sloc Sloc传递函数依赖于Sno,即SL中存在非主属性对码的传递函数依赖。例:2NF关系模式SL(Sno,Sdept,Sloc)中函数依赖图:SLSnoSdeptSloc函数依赖图:SLSnoSdeptSloc解决方法采用投影分解法,把SL分解为两个关系模式,以消除传递函数依赖:SD(Sno,Sdept)DL(Sdept,Sloc)SD的码为Sno,DL的码为Sdept。解决方法SD的码为Sno,DL的码为Sdept。SnoSdeptSDSdeptSlocDLSD的码为Sno,DL的码为Sdept。SnoSdeptS3NF3NF的定义 定义6.8关系模式R<U,F>
中若不存在这样的码X、属性组Y及非主属性Z(ZY),使得X→Y,Y→X,Y→Z,成立,则称R<U,F>∈3NF。例:SL(Sno,Sdept,Sloc)∈2NFSL(Sno,Sdept,Sloc)∈3NFSD(Sno,Sdept)∈3NFDL(Sdept,Sloc)∈3NF3NF3NF的定义3NF若R∈3NF,则R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。如果R∈3NF,则R也是2NF。采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。将一个2NF关系分解为多个3NF的关系后,并不能完全消除关系模式中的各种异常情况和数据冗余。3NF若R∈3NF,则R的每一个非主属性既不部分函数依赖于例:在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。每一教师只教一门课,每门课由若干教师教。某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称。(S,J)→T,(S,T)→J,T→J例:在关系模式STJ(S,T,J)中,S表示学生,T表示教师6.2.6BC范式(BCNF)定义6.9设关系模式R<U,F>∈1NF,如果对于R的每个函数依赖X→Y,若X不包含Y,则X必含有候选码,那么R∈BCNF。若R∈BCNF每一个决定属性集(因素)都包含(候选)码R中的所有属性(主,非主属性)都完全函数依赖于码R∈3NF若R∈3NF则R不一定∈BCNF3NF的修正形式是Boyee―Codd范式(简称BCNF),是由Boyce与Codd提出的。6.2.6BC范式(BCNF)定义6.9设关系模BCNF例:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年电力安全工作规程考试试卷附答案
- 2026年传染科诊疗知识培训试卷(含答案)
- 2025信息网络安全考题(附答案)
- 2026事业单位工勤技能-新疆-新疆地质勘查员三级(高级工)历年参考题库含答案详解
- 2026事业单位工勤技能-广西-广西检验员一级(高级技师)历年参考题库含答案详解
- 2026事业单位工勤技能-广西-广西不动产测绘员四级(中级工)历年参考题库含答案详解
- 2026事业单位工勤技能-广东-广东房管员二级(技师)历年参考题库含答案详解
- 2026事业单位工勤技能-山西-山西计算机文字录入处理员二级(技师)历年参考题库含答案详解
- 2026事业单位工勤技能-山东-山东园林绿化工二级(技师)历年参考题库含答案详解
- 2026事业单位工勤技能-宁夏-宁夏广播电视天线工四级(中级工)历年参考题库含答案详解
- 2026年高考广西卷物理高考真题(解析版)
- 北师大版二年级数学上册重点难点计划
- 配电箱日常维护检查手册
- 17 Oracle基础 - DML和DDL综合案例
- AI与传统陶瓷文化的数字化创新与发展
- 2026届济南市历下区小升初新初一分班考试语文数学英语综合仿真模拟卷含答案详解评分标准与可打印作答区
- 2026年上海市助理政工师职称考试(思想政治工作)综合试题及答案
- 2026中国电子烟行业监管政策变化对市场格局影响深度分析
- 电缆老化机理研究-深度研究
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.7-2025)
- 2026年高考地理一轮复习:湘教版必修第二册知识点考点背诵提纲
评论
0/150
提交评论