关系数据库设计理论_第1页
关系数据库设计理论_第2页
关系数据库设计理论_第3页
关系数据库设计理论_第4页
关系数据库设计理论_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关系数据库设计理论第一页,共四十页,2022年,8月28日例如:产品报价数据库第二页,共四十页,2022年,8月28日第5章内容及要求5.1数据依赖(数据依赖对关系模式的影响;数据依赖的概念,包括函数依赖、平凡函数依赖和非平凡函数依赖、完全函数依赖和部分函数依赖、传递函数依赖、码)5.2范式理论(范式、2NF、3NF、BCNF、多值依赖、4NF。关系模式的规范化;各种范式小结和规范化步骤。)5.3关系模式的分解(模式分解的准则;无损连接性;保持函数依赖;模式分解的算法;)5.4小结5.5习题第三页,共四十页,2022年,8月28日5.1数据依赖数据依赖在关系模式中广泛存在,影响巨大。恰当的数据依赖是必要的。但不必要的数据依赖会对关系模式产生不好的影响。进行数据库设计时要深入分析数据间的依赖。本节主要介绍关系模式中的数据依赖的相关概念,分析数据依赖对关系模式的影响。第四页,共四十页,2022年,8月28日5.1数据依赖5.1.1关系模式中的数据依赖5.1.2数据依赖分类5.1.3一个关系模式中的函数依赖5.1.4函数依赖对关系模式的影响5.1.5函数依赖的概念5.1.6平凡函数依赖和非平凡函数依赖5.1.7完全函数依赖和部分函数依赖5.1.8传递函数依赖、码第五页,共四十页,2022年,8月28日5.1.1关系模式中的数据依赖1.关系模式描述为:

R(U,D,DOM,F)

R为关系名。U属性名集合。D为属性组U中属性所来自的域。DOM属性向域的映象的集合。F为属性间数据的依赖关系集合。2.数据依赖F:限定组成关系的各元组必须满足的完整性约束条件。如属性的取值范围;或者属性值间的相互关联(即数据依赖)。3.关系模式的简述为:R(U,F)第六页,共四十页,2022年,8月28日5.1.2数据依赖分类1.关系模式中的数据依赖有多种,比较重要的是函数依赖、多值依赖、连接依赖。2.函数依赖:关系模式中属性间普遍存在的函数依赖。例:student(sno,sname,ssex,sage,sdept)

该关系模式中存在以下函数依赖:

Sno—>sname,Sno—>ssex,Sno—>sdept。3.多值依赖:一门课由多个老师上,使用同一套参考书。4.连接依赖:关系与关系间往往存在联系。第七页,共四十页,2022年,8月28日5.1.3学校关系模式的函数依赖snocnamegradesdeptmname如学校数据库模式:一个系有若干学生,一个学生只属于一个系;一个系只有一个系主任;一个学生可以选修多门课程,每门课程有若干同学选修;每个学生所学的每门课程都有成绩。假设学校数据库模式仅由一个表构成。

student(sno,sdept,mname,cname,grade)各属性为学号,所在系,系主任名,课程名,成绩。关系中存在的数据依赖为:第八页,共四十页,2022年,8月28日5.1.4函数依赖对关系模式的影响关系模式:student(sno,sdept,mname,cname,grade)存在一些问题:1.数据冗余太大。sdept,mname,cname重复保存。2.更新异常。3.插入异常。4.删除异常。为什么会出现这些问题呢?因为存在不合适的数据依赖!第九页,共四十页,2022年,8月28日snosdeptsloccnograde991101计算机一号楼00185991101计算机一号楼00280991102信息管理二号楼00292991102信息管理二号楼00378991103电气工程一号楼00470991104工商管理三号楼00491991105工商管理三号楼00582第十页,共四十页,2022年,8月28日5.1.5函数依赖的概念定义:设R(U)是一个关系模式,U是R的属性集合,X,Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性相同,而在Y上的属性不同,则称“X函数确定Y”或”Y函数依赖于X“,记作XY。说明:(1)对R中所有关系实例而言;(2)数据库设计者可作强制规定,如姓名不能同名;(3)如XY,X称为决定属性集;(4)如XY,并且YX则记为XY;(5)若Y不函数依赖于X,记作X—\—>Y。第十一页,共四十页,2022年,8月28日5.1.6平凡函数依赖和非平凡函数依赖定义:在关系模式R(U),U是R的属性集合,X,Y是U的子集,如果XY,但Y不包含于X,则称XY是非平凡函数依赖,若Y包含于X,则称XY是平凡函数依赖。说明:(1)对任一关系模式,平凡函数依赖必然成立。(2)本节只讨论非平凡函数依赖。(3)非平凡函数依赖易产生问题。

snocnocnamegrade第十二页,共四十页,2022年,8月28日5.1.7完全函数依赖和部分函数依赖定义:在关系模式R(U),U是R的属性集合,X,Y是U的子集。如果XY,并且对于X的任何一个真子集X1,都有X1——|Y,,则称“Y完全函数依赖于X”,记作X—fY。若XY,但Y不完全函数依赖于X,则称Y部分函数依赖X,记作X—PY。说明:(1)部分函数依赖易产生问题。(2)完全函数依赖中,X为决定属性,Y为非决定属性。第十三页,共四十页,2022年,8月28日5.1.8传递函数依赖,码传递函数依赖定义:在关系模式R(U),如果XY,Y——>Z,且Y不包含于X,Y——\X,则称“Z传递函数依赖于X”,记作X——>>Z。码定义:设K为关系模式R(U,F)中的属性或属性组。若KU,则称K是一个候选码。若关系模式R有多个候选码,则选定其中的一个为主码。码、候选码、主码、外部码。第十四页,共四十页,2022年,8月28日5.2范式理论范式:是指符合某一级别的关系模式的集合。目前主要有6种范式:

1NF>2NF>3NF>BCNF>4NF>5NF6种范式的规范化程度依次增强,满足后一种范式的关系模式必然满足前一种范式。本节主要讲述这六种范式的特点。第十五页,共四十页,2022年,8月28日5.2范式理论5.2.11NF及存在的问题5.2.22NF及存在的问题5.2.33NF及存在的问题5.2.4BCNF及存在的问题5.2.54NF及存在的问题5.2.65NF5.2.7学校管理数据库分析5.2.8STC数据库分析第十六页,共四十页,2022年,8月28日5.2.11NF及存在的问题1NF定义:如果一个关系模式R的所有属性的值都是不可分的基本数据项值,则R∈1NF。非规范化的关系SC0学号姓名课程名成绩991101李玉英语85计算机90991102杨羚英语73计算机94991103张山英语76计算机85第十七页,共四十页,2022年,8月28日满足1NF的关系SC1学号姓名课程名成绩991101李玉英语85991101李玉计算机90991102杨羚英语73991102杨羚计算机94991103张山英语76991103张山计算机85第十八页,共四十页,2022年,8月28日1NF及存在的问题满足1NF的关系模式并不一定是一个好的关系模式。SLC(sno,sdept,sloc,cno,grade)主码(主属性)为(sno,cno)。snosdeptsloccnograde991101计算机一号楼00185991101计算机一号楼00280991102信息管理二号楼00292991102信息管理二号楼00378991103电气工程一号楼00470991104工商管理三号楼00491991105工商管理三号楼00582第十九页,共四十页,2022年,8月28日1NF及存在的问题该模式存在非主属性对主码的部分函数依赖和传递函数依赖。假定一个学生只在一个系学习,一个系只在同一栋楼内。该模式中存在以下三个问题。数据冗余太大;更新异常;插入异常;删除异常。slocsnocnosdeptgrade第二十页,共四十页,2022年,8月28日5.2.11NF关系模式的分解对SLC(sno,sdept,sloc,cno,grade)分解,变为:

SL(sno,sdept,sloc)SC(sno,cno,grade)分解后,去掉了非主属性sdept、sloc对码的部分函数依赖。snosnosdeptslocsdeptsloc第二十一页,共四十页,2022年,8月28日1NF关系模式的分解snosdeptsloc991101计算机一号楼991102信息管理二号楼991103电气工程一号楼991104工商管理三号楼991105工商管理三号楼snocnograde99110100185991101002809911020029299110200378991103004709911040049199110500582

SL(sno,sdept,sloc)SC(sno,cno,grade)第二十二页,共四十页,2022年,8月28日5.2.22NF及存在的问题定义:若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则称R∈2NF。即不存在非主属性对码的部分函数依赖。如果码中只包含一个属性且属于1NF,则R必属于2NF。SLC分解后的SL和SC关系模式都属于2NF。分解后异常情况减少。但关系模式SL(sno,sdept,sloc)仍存在操作异常:冗余大,更新异常,插入异常,删除异常的情况。其原因是还存在sloc对sno的传递函数依赖第二十三页,共四十页,2022年,8月28日5.2.22NF的分解对SL(sno,sdept,sloc)作进一步的分解,去掉sloc对sno传递依赖:

SD(sno,sdept)DL(sdept,sloc)snosdeptslocsnosdeptslocsdept第二十四页,共四十页,2022年,8月28日这时,SD和DL的函数依赖是正常的。分解后在一定程度上解决了:数据冗余大、更新异常、插入异常、删除异常的情况。snosdeptsloc991101计算机一号楼991102信息管理二号楼991103电气工程一号楼991104工商管理三号楼991105工商管理三号楼snosdept991101计算机991102信息管理991103电气工程991104工商管理991105工商管理sdeptsloc计算机一号楼信息管理二号楼电气工程一号楼工商管理三号楼SD(sno,sdept)DL(sdept,sloc)第二十五页,共四十页,2022年,8月28日5.2.33NF及存在的问题定义:若关系模式R<U,F>中不存在候选码X,属性组Y,以及非主属性Z(Z不包含于Y),使得XY,YZ和Y—\X成立,则R∈3NF。若R∈3NF,则R的每一个非主属性既不部分函数依赖于候选码,也不传递函数依赖于候选码。

SD(sno,sdept),DL(sdept,sloc)属于3NF。但3NF并不一定就是一个好的关系模式。它并不能完全消除异常情况和数据冗余。第二十六页,共四十页,2022年,8月28日5.2.7学校管理数据库的函数依赖GSNOCNDNDM第二十七页,共四十页,2022年,8月28日5.2.7函数依赖的变换SNOCNGSC:SNODNDNDMSD:D:GSNOCNDNDMUN:fpptDNDMSNOSD:t第二十八页,共四十页,2022年,8月28日5.3关系模式的规范化基本思想是逐步消除数据领带中不合适的部分,使模式中的各关系模式达到某种程度的“分解”,即采用“一事一地”的模式设计原则,让一个关系描述一个概念、一个实体或者实体间的一种联系。即“概念单一化”。第二十九页,共四十页,2022年,8月28日5.3关系模式的规范化5.3.1规范化步骤5.3.2关系模式的分解的准则5.3.3一个关系模式分解的探讨5.3.4无损连接性5.3.5保持函数依赖5.3.6学生成绩登记表分析第三十页,共四十页,2022年,8月28日5.3.1规范化步骤1NF2NF3NFBCNF4NF5NF消除非主属性对码的部分函数依赖消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖消除多值依赖消除连接依赖消除决定属性集非码非平凡函数依赖第三十一页,共四十页,2022年,8月28日5.3.2关系模式的分解的准则要保证分解后的关系模式与原关系模式等价。有三种标准:(1)分解具有无损连接性。(2)分解要保持函数依赖。(3)分解既要保持函数依赖,又解要保持无损连接性。第三十二页,共四十页,2022年,8月28日5.3.3一个关系模式分解的探讨关系模式:SL(sno,sdept,sloc)分解方法有:方法一:SN(sno),SD(sdept),SO(sloc)丢失了很多有用的信息,分解不能保持函数依赖,不具有无损连接性。方法二:NL(sno,sloc),DL(sdept,sloc)分解能保持函数依赖,但不具有无损连接性。方法三:ND(sno,sdept),NL(sno,sloc)分解具有无损连接性,但不能保持函数依赖。方法四:ND(sno,sdept),DL(sdept,sloc)分解既能保持函数依赖,又具有无损连接性。第三十三页,共四十页,2022年,8月28日

5.3.4无损连接性设关系模式R(U,F)被分解为若干个关系模式R1(U1,F1),R2(U2,F2)…..Rn(Un,Fn),(其中U=U1∪U2……∪Un,且不存在Ui包含于Uj中,Ri为F在Ui上的投影),若R与R1,R2..…Rn自然连接的结果相等,则称关系模式R的分解具有无损连接性。只有具有无损连接性的分解才能保证不丢失信息。例如方法三:ND(sno,sdept),NL(sno,sloc)分解具有无损连接性,但不能保持函数依赖。第三十四页,共四十页,2022年,8月28日5.3.5保持函数依赖设关系模式R(U,F)被分解为若干个关系模式R1(U1,F1),R2(U2,F2)…..Rn(Un,Fn),(其中U=U1∪U2……∪Un,且不存在Ui不包含于Uj中,Ri为F在Ui上的投影),若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的分解具有保持函数依赖。方法四:ND(sno,sdept),DL(sdept,sloc)分解既能保持函数依赖,又具有无损连接性。第三十五页,共四十页,2022年,8月28日5.3.6学生成绩登记表分析学号姓名性别专业年级课程成绩课号课名学时学分教师师号成绩S1S2张三李四男女CSCS9899C1C2C3C4C5C1DBDSOSMAPHDB6060801209060334653赵钱孙李周赵M1M9M4M7M2M1907085907586如何对该关系模式进行分解呢?(见作业附件)第三十六页,共四十页,2022年,8月28日5.4小结优秀的DB设计是DBS应用成功的基石。RDB逻辑设计以RDB规范化理论为指导。不合理数据依赖会产生冗余度大、插入修改删除异常。数据依赖分函数依赖、多值依赖和连接依赖。规范化就是消除关系模式中存在的不合适的数据依赖。1NF→2NF消除非主属性对侯选码的部分函数依赖2NF→3NF消除非主属性对侯选码的传递函数依赖3NF→BCNF消除主属性对侯选码的部分和传递函数依赖BCNF→4NF消除非平凡且平函数依赖的多值依赖4NF→5NF消除不是有候选码所蕴含的连接依赖规范化须

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论