第5章关系数据理论..ppt

上传人:得****1 文档编号:75404762 上传时间:2023-03-03 格式:PPT 页数:29 大小:473.50KB
返回 下载 相关 举报
第5章关系数据理论..ppt_第1页
第1页 / 共29页
第5章关系数据理论..ppt_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《第5章关系数据理论..ppt》由会员分享,可在线阅读,更多相关《第5章关系数据理论..ppt(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第5章 关系数据库规范化理论v5.1 5.1 函数依赖函数依赖5.1.1 函数依赖基本概念5.1.2 一些术语和符号5.1.3 为什么要讨论函数依赖 v5.2 5.2 关系规范化关系规范化 5.2.1 关系模式中的键5.2.2 范式 5.1 函数依赖v数数据据的的语语义义不不仅仅表表现现为为完完整整性性约约束束,对对关关系模式的设计也提出了一定的要求。系模式的设计也提出了一定的要求。v针针对对一一个个实实际际应应用用业业务务,如如何何构构造造合合适适的的关关系系模模式式,应应构构造造几几个个关关系系模模式式,每每个个关关系系模模式式由由哪哪些些属属性性组组成成等等,这这些些都都是是数数据据库库

2、设设计计问问题题,确确切切地地讲讲是是关关系系数数据据库库的的逻逻辑设计问题。辑设计问题。5.1.1 基本概念 v省省=f(城市城市):只要给出一个具体的城市值,就会有唯:只要给出一个具体的城市值,就会有唯一一个省值和它对应,一一个省值和它对应,v如如“哈尔滨市哈尔滨市”在在“黑龙江省黑龙江省”,这里,这里“城市城市”是自是自变量变量X,“省省”是因变量或函数值是因变量或函数值Y。v把把X函数决定函数决定Y,或,或Y函数依赖于函数依赖于X表示为:表示为:XYv如果有关系模式如果有关系模式R(A1,A2,An),X和和Y为为A1,A2,An的子集,则对于关系的子集,则对于关系R中的任意一中的任意

3、一个个X值,都只有一个值,都只有一个Y值与之对应,则称值与之对应,则称X函数决定函数决定Y,或,或Y函数依赖于函数依赖于X。示例v例例1 1:对学生关系模式:对学生关系模式 Student Student(SnoSno,SNameSName,SdeptSdept,Sage,Sage)v有以下依赖关系:有以下依赖关系:SnoSName,SnoSdept,SnoSage 例2:SC(Sno,Cno,Grade)(Sno,Cno)Grade 函数依赖定义v设有关系模式设有关系模式R(A1,A2,An),X和和Y均为均为A1,A2,An的子集,的子集,r是是R的任一具体关系,的任一具体关系,t1、t2

4、是是r中的任意两个元组;中的任意两个元组;v如果由如果由t1X=t2X可以推导出可以推导出t1Y=t2Y,则称,则称X函数决定函数决定Y,或,或Y函数依赖于函数依赖于X,记为,记为XY。v在以上定义中特别要注意,只要在以上定义中特别要注意,只要 t1X=t2X t1Y=t2Yv成立,就有成立,就有XY。也就是说只有当。也就是说只有当t1X=t2X为真,为真,而而t1Y=t2Y为假时,函数依赖为假时,函数依赖XY不成立;而当不成立;而当t1X=t2X为假时,不管为假时,不管t1Y=t2Y为真或为假,为真或为假,都有都有XY成立。成立。5.1.2 一些术语和符号(1 1)如果)如果X XY Y,但

5、,但Y Y不包含于不包含于X X,则称,则称X XY Y是非平凡的函数依赖是非平凡的函数依赖。(2)如果如果X XY Y,但,但Y Y包含于包含于X X,则称,则称X XY Y是平凡的函数依赖是平凡的函数依赖。若若无无特特别别声声明明,我我们们讨讨论论的的都都是是非非平平凡凡的函数依赖。的函数依赖。(3 3)如果)如果X XY Y,则,则X X称为称为决定因子决定因子。术语和符号(续)(4 4)如果)如果X XY Y,并且,并且Y YX X,则记作,则记作X XY Y。(5 5)如果)如果XYXY,并且对于,并且对于X X的一个任意真子的一个任意真子集集X X 都有都有X X!Y!Y,则称,则

6、称Y Y完全函数依赖完全函数依赖于于X X,记作;如果,记作;如果X XY Y成立,则称成立,则称Y Y部分函部分函数依赖数依赖于于X X,记作。,记作。(6 6)如果)如果XYXY(非平凡函数依赖,并且(非平凡函数依赖,并且Y!XY!X)、)、YZYZ,则称,则称Z Z传递函数依赖传递函数依赖于于X X。示例v例例1 1:有关系模式:有关系模式SCSC(Sno,Sname,Cno,Credit,GradeSno,Sname,Cno,Credit,Grade),主键为),主键为(SnoSno,CnoCno),则函数依赖关系有:),则函数依赖关系有:示例v例例2 2:有关系模式:有关系模式S(S

7、no,Sname,Dept,Dept_masterS(Sno,Sname,Dept,Dept_master),各属性分别为:学号、姓名、所在系和系主任,各属性分别为:学号、姓名、所在系和系主任(假设一个系只有一个主任),主键为(假设一个系只有一个主任),主键为SnoSno,则函,则函数依赖关系有:数依赖关系有:5.1.3 为什么要讨论函数依赖?SnoSnameSsexSdeptSlocCnoGrade0611101李勇男计算机系2公寓C001960611101李勇男计算机系2公寓C002800611101李勇男计算机系2公寓C003840611101李勇男计算机系2公寓C00562061110

8、2刘晨男计算机系2公寓C001920611102刘晨男计算机系2公寓C002900611102刘晨男计算机系2公寓C004840621102吴宾女信息管理系1公寓C001760621102吴宾女信息管理系1公寓C004850621102吴宾女信息管理系1公寓C005730621102吴宾女信息管理系1公寓C0070621103张海男信息管理系1公寓C001500621103张海男信息管理系1公寓C004800631103张珊珊女通信工程系1公寓C004780631103张珊珊女通信工程系1公寓C005650631103张珊珊女通信工程系1公寓C007存在问题v数据冗余问题数据冗余问题 v数据更

9、新问题数据更新问题 v数据插入问题数据插入问题 v数据删除问题数据删除问题结论v此关系模式不是一个好的模式。此关系模式不是一个好的模式。v“好好”的模式:的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。v原因原因:由存在于模式中的:由存在于模式中的某些数据依赖某些数据依赖引起引起v解决方法解决方法:通过:通过分解分解关系模式来消除其中不合适关系模式来消除其中不合适的数据依赖的数据依赖5.2 关系规范化v关系规范化是指导将有“不良”函数依赖的关系模式转换为良好的关系模式的理论。v这里涉及到范式的概念,不同的范式表示关系模式遵守的不同的规则。5.2.1 关系模式中的键v候候选选键

10、键:设设K K为为R R (U U,F F)中中的的属属性性或或属属性性组组,若若K K完全决定完全决定U U,则,则K K为为R R的的候选键候选键。v主主键键:关关系系R R (U U,F F)中中可可能能有有多多个个候候选选键键,则选其中一个作为主键。则选其中一个作为主键。v全键全键:候选键为整个属性组。:候选键为整个属性组。v包包含含在在任任一一候候选选键键中中的的属属性性称称为为主主属属性性,不不包包含含在在任任一一候候选选键键中中的的属属性性称称为为非非主主属属性性。示例例例1 1:学生表:学生表(学号学号,姓名姓名,性别性别,身份证号身份证号,年龄年龄,所在系所在系)候选键:学号

11、,身份证号,主键:学号或身份证号候选键:学号,身份证号,主键:学号或身份证号主属性:学号,身份证号主属性:学号,身份证号例例2 2:学生选课表:学生选课表(学号学号,课程号课程号,考试次数考试次数,成绩成绩)候选键:(学号,课程号,考试次数),也为主键候选键:(学号,课程号,考试次数),也为主键主属性:学号,课程号,考试次数,非主属性:成绩主属性:学号,课程号,考试次数,非主属性:成绩例例3 3:教师:教师_ _课程表课程表(教师号教师号,课程号课程号,学年学年)候选键候选键:(:(教师号,课程号,学年教师号,课程号,学年),也为主键),也为主键主属性:教师号,课程号,学年,非主属性:无主属性

12、:教师号,课程号,学年,非主属性:无 是全键表是全键表5.2.1 关系模式中的键(续)外外键键:用用于于关关系系表表之之间间建建立立关关联联的的属属性性(组)。(组)。定义:若定义:若R R(U U,F F)的属性(组)的属性(组)X X(X X属属于于U U)是另一个关系)是另一个关系S S的主键,则称的主键,则称X X为为R R的外键。(的外键。(X X必须先被定义为必须先被定义为S S的主键。的主键。)5.2.2 范式v关系数据库中的关系要满足一定的要求,关系数据库中的关系要满足一定的要求,满足不同程度要求的为不不同的满足不同程度要求的为不不同的范式范式(Normal Form)。)。v

13、范式的种类:范式的种类:第一范式(1NF)第二范式(2NF)第三范式(3NF)第一范式第一范式(1NF):不包含重复组的关系第二范式第二范式(2NF):如果R(U,F)1NF,并且R中的每个非主属性都完全函数依赖于主键,则R(U,F)2NF。例例:有关系模式:有关系模式:S-L-C(Sno,Sname,Ssex,Sdept,Sloc,Cno,Grade)(Sno,Cno)是主键,且SnoSname,因此(Sno,Cno)Sname,不是第二范式 分解方法v(1)用组成主键的属性集合的每一个子)用组成主键的属性集合的每一个子集作为主键构成一个表。集作为主键构成一个表。v(2)将依赖于这些主键的属

14、性放置到相)将依赖于这些主键的属性放置到相应的表中。应的表中。v(3)最后去掉只由主键的子集构成的表。)最后去掉只由主键的子集构成的表。分解S-L-C表v(1)将该表分解为如下的三张表(下划线)将该表分解为如下的三张表(下划线部分表示主键):部分表示主键):S-L(Sno,)C(Cno,)S-C(Sno,Cno,)分解S-L-C表(续)v(2)将依赖于这些主键的属性放置到相应)将依赖于这些主键的属性放置到相应的表中,形成如下三张表:的表中,形成如下三张表:S-L(Sno,Sname,Ssex,Sdept,Sloc)C(Cno)S-C(Sno,Cno,Grade)v(3)去掉只由主键的子集构成的

15、表,也就)去掉只由主键的子集构成的表,也就是去掉是去掉C(Cno)表。)表。S-L-C关系模式最终关系模式最终被分解的形式为:被分解的形式为:S-L(Sno,Sname,Ssex,Sdept,Sloc)S-C(Sno,Cno,Grade)分解后的函数依赖关系v分解后的关系模式的函数依赖关系:分解后的关系模式的函数依赖关系:vS-L:SnofSdept,SnofSname SnofSsex,SnofSLOC 是2NFvS-C:(Sno,Cno)fGrade:是2NFS-L关系模式存在问题SnoSnameSsexSdeptSloc0611101李勇男计算机系2公寓0611102刘晨男计算机系2公寓

16、0621102吴宾女信息管理系1公寓0621103张海男信息管理系1公寓0631103张珊珊女通信工程系1公寓第三范式第三范式(3NF):如果R(U,F)2NF,并且所有非主属性都不传递依赖于主键,则R(U,F)3NF。v对对S-L(Sno,Sname,Ssex,Sdept,SLOC)vSnoSdept,SdeptSloc v Sno传递SLOC,不是3NF分解方法v(1)对于不是候选键的每个决定因)对于不是候选键的每个决定因子,从表中删去依赖于它的所有属性。子,从表中删去依赖于它的所有属性。v(2)新建一个表,新表中包含原表)新建一个表,新表中包含原表中所有依赖于该决定因子的属性。中所有依赖

17、于该决定因子的属性。v(3)将决定因子作为新表的主键。)将决定因子作为新表的主键。分解S-L关系模式vS-L分解后的关系模式如下:vS-D(Sno,Sname,Ssex,Sdept),主键为Sno。vS-L(Sdept,Sloc),主键为Sdept。小结v规范化的过程实际上是通过把范式程度低规范化的过程实际上是通过把范式程度低的关系模式分解为若干个范式程度高的关的关系模式分解为若干个范式程度高的关系模式来实现的。系模式来实现的。v分解的最终目的是使每个规范化的关系只分解的最终目的是使每个规范化的关系只描述一个主题。描述一个主题。v如果某个关系描述了两个或多个主题,则如果某个关系描述了两个或多个主题,则它就应该被分解为多个关系,使每个关系它就应该被分解为多个关系,使每个关系只描述一个主题。只描述一个主题。小结(续)v规范化的方法是进行模式分解,且确保分规范化的方法是进行模式分解,且确保分解后产生的模式与原模式等价,解后产生的模式与原模式等价,v即模式分解不能破坏原来的语义,同时还即模式分解不能破坏原来的语义,同时还要保证不丢失原来的函数依赖关系。要保证不丢失原来的函数依赖关系。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com