数据库系统范式教程.ppt

数据库系统范式教程.ppt

ID:52544328

大小:351.00 KB

页数:73页

时间:2020-04-10

数据库系统范式教程.ppt_第1页
数据库系统范式教程.ppt_第2页
数据库系统范式教程.ppt_第3页
数据库系统范式教程.ppt_第4页
数据库系统范式教程.ppt_第5页
资源描述:

《数据库系统范式教程.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、数据依赖对关系数据库的影响函数依赖关系模式的范式关系模式的规范化数据依赖的公理系统数据依赖对关系模式的影响关系模式设计不规范会带来一系列的问题数据冗余、更新异常、插入异常、删除异常示例1:关系模式R(Tname,Addr,C#,Cname)一个教师只有一个地址(户口所在地)一个教师可教多门课程一门课程只有一个任课教师因此R的主码是(C#)R的一个实例TnameAddrC#CnameT1A1C1N1T1A1C2N2T1A1C3N3T2A2C4N4T2A2C5N5T3A3C6N6问题(1):数据冗余教师T1教了三门课程,他的地址被重复存储了2次。TnameAddrC#Cna

2、meT1A1C1N1T1A1C2N2T1A1C3N3T2A2C4N4T2A2C5N5T3A3C6N6问题(2):更新异常如果T1的地址变了,则需要改变3个元组的地址;若有一个未更改,就会出现数据不一致。但DBMS无法获知这种不一致。TnameAddrC#CnameT1A1C1N1T1A1C2N2T1A1C3N3T2A2C4N4T2A2C5N5T3A3C6N6问题(3):插入异常如果要增加一名教师,但他还未带课,则C#和Cname为空,但由于C#是主码,为空违反了实体完整性,所以这名教师将无法插入到数据库中。TnameAddrC#CnameT1A1C1N1T1A1C2N2

3、T1A1C3N3T2A2C4N4T2A2C5N5T3A3C6N6问题(4):删除异常如果教师T3现在不带课了,则需将T3的元组删去,但同时也把他的姓名和地址信息删掉了。TnameAddrC#CnameT1A1C1N1T1A1C2N2T1A1C3N3T2A2C4N4T2A2C5N5T3A3C6N6如何解决?方法:模式分解方法1:R分解为R1(Tname,Addr)R2(C#,Cname)方法2R1(Tname,Addr,C#)R2(C#,Cname)方法3R1(Tname,Addr)R2(Tname,C#,Cname)授课信息丢失了R1中问题依然存在基本解决问题示例2:描

4、述学校的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程名(Cname),成绩(Grade)单一的关系模式:Student其中:U={Sno,Sdept,Mname,Cname,Grade}F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}数据依赖对关系模式的影响(续)学校数据库的语义:⒈一个系有若干学生,一个学生只属于一个系;⒉一个系只有一名主任;⒊一个学生可以选修多门课程,每门课程有若干学生选修;⒋每个学生所学的每门课程都有一个成绩。SnoCnameGradeSdeptMnameStude

5、nt关系模式上的一组函数依赖关系模式Student中存在的问题⒈数据冗余太大浪费大量的存储空间例:每一个系主任的姓名重复出现⒉更新异常(UpdateAnomalies)数据冗余,更新数据时,维护数据完整性代价大。例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组关系模式Student中存在的问题⒊插入异常(InsertionAnomalies)该插的数据插不进去例,如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。⒋删除异常(DeletionAnomalies)不该删除的数据不得不删例,如果某个系的学生全部毕业了,我

6、们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。数据依赖对关系模式的影响(续)结论:Student关系模式不是一个好的模式。“好”的模式不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。原因:由存在于模式中的某些数据依赖引起的解决方法:通过分解关系模式来消除其中不合适的数据依赖。规范化理论规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。要解决的内容到底什么样的模式才最佳?怎么分解才能达到要求?标准是什么?如何实现?函数依赖关系模式是对关系的描述,它由五部分组成:R(U,D

7、,Dom,F)R为关系模式名;U是一个属性集;D是U中属性的值所来自的域;Dom是属性向域的映射集合;F是属性间的依赖关系。函数依赖定义11.1设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记做X→Y。函数依赖换一种说法:设关系模式R(A1,A2,…,An)或简记为R(U),U是R的属性集合,X和Y是U的子集。r是R的任意一个实例(关系),若r的任意两个元组t1、t2,由t1[

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

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

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