数据库课件6db关系数据库理论.ppt
《数据库课件6db关系数据库理论.ppt》由会员分享,可在线阅读,更多相关《数据库课件6db关系数据库理论.ppt(81页珍藏版)》请在三一办公上搜索。
1、第六章 关系数据理论,任何一个二目关系模式R(A,B)一定属于BCNF吗?一个全是主属性的关系模式一定可以达到第几范式?一个全码的关系模式一定可以达到第几范式?关系模式R(A,B,C),有函数依赖集FAB C,BC A,则最高达到第几范式?,应用系统设计的共同问题:如何把现实世界表达成合适的数据库模式,即设计数据库的逻辑结构以关系模型为背景讨论:针对一个具体问题,如何构造合适的数据模式?构造几个关系?每个关系由哪些属性组成?等等。这些直接决定数据库的运行效率,关系DB设计理论(规范化理论)研究的是关系模式中各属性之间的数据依赖关系及其对关系模式性能的影响,探讨“好”的关系模式应该具备的性质,以
2、及达到“好”的关系模式的设计算法。规范化理论-解决如何设计一个适合的关系数据库系统的问题判断关系模式优劣的理论标准帮助我们预测可能出现的问题关系模型有严格的数学理论基础可以向其它模型转换具有普遍理论意义,关系模式的形式化定义,关系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)R:关系名U:组成该关系的属性名集合D:属性组U中属性所来自的域DOM:属性向域的映象集合F:属性间数据的依赖关系集合,6.1问题的提出,关系的规模 1.一个关系中信息量与关系的列数成正比,2.关系操作高效:关系运算、;单表低效:、;多表,增加关系中的列数是不是可以减少联接操作,是不是属性越多越好?,3.举例
3、1:Class(clno,dept,major)S(sno,sname,sex,birthdate,clno,address)C(cno,cname,score,pcno)SC(sno,cno,p1,p2,p3)max(clno,dept,major sno,sname,sex,birthdate,address cno,cname,score,pcno,p1,p2,p3),共18个属性,共15个属性,数据冗余设每个字段10 ByteS:有 50000个记录 50000603106 ByteClass:有1000个记录 1000303104 ByteC:有500个记录 500402104 By
4、teSC:有5000040个记录 500004050 1108 Byte共:31063104 2104 1108=10305104 1.0305108 max:5000040150300106 3108同一数据在DB中多次无控制冗余存放造成的。,Max表存在的问题,Max表存在的问题(续),插入异常:合法数据无法入库。关系 max码:(sno,cno)一个新生入校时,已是学生,但没有选课,这时不能入库,且查询学生时无法查到。删除异常:删除操作造成有效数据的丢失。如:有门课程只有一人选修,此人毕业时,将删除其所有选课程的信息。这时查询课程信息时将无法得到该课程。修改异常:一个数据的修改,引起数据
5、库中多处数据的更新。将“数据库原理”课程的名称改为“数据库系统基础”时,将需修改多个记录这些异常现象在有四个表时不会发生,所以数据库结构不是属性越多越好。,注意:,插入异常:该插入的数据未插入 不该插入的数据被插入删除异常:该删除的数据未删除 不该删除的数据被删除,4 举例2考虑为管理职工的工资信息而设计一个关系模式,该模式有什么问题?,插入异常:如果没有职工具有8级工资,则8级工资的工资数额就难以插入。删除异常:如果仅有职工赵明具有4级工资,如果将赵明删除,则有关4级工资的工资数额信息也随之删除了。数据冗余:职工很多,工资级别有限,每一级别的工资数额反复存储多次。更新异常:如果将5级工资的工
6、资数额调为620,则需要找到每个具有5级工资的职工,逐一修改。,结论:该关系模式不是一个好的模式。“好”的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。原因:由存在于模式中的某些数据依赖引起的:工号姓名 工号级别 级别工资,Max表存在问题原因,分析可知:这与数据库文件的结构中各属性间的关系 有关。sno 决定 sname,sex,clno,address,dept,majorClno 决定 dept,majorCno 决定 cname,score,pcnosno,cno 决定 p1 p2 p3,愿望,体现客观世界的信息 一个好的关系模式应冗余尽可能少;一个好的关系模式应避免
7、插入、删除异常;异常原因是关系模式中存在不合适的属性间联系;解决策略是消去不合适联系;方法采用模式分解消去不合适的属性间联系。,负面影响:需要通过表连接做相关信息查询,系统开销大!,6.2 规范化,规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题,把不好的关系模式变成好的关系模式。,数据依赖,数据依赖函数依赖(Functional Dependency,FD)多值依赖(Multivalued Dependency,MVD)X数据依赖是针对数据模式,而不是特定的实例是属性间的关联是一种约束,假设给定 X 属性的值,就知道
8、 Y的值,那么 X 函数决定 Y,记作XY,函数依赖,函数依赖的定义:若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。称X为决定因素。若Y不函数依赖于X,则记为XY。,函数依赖,例如:SDC(SNO(学号),Sname(姓名),Sage(年龄),Sdept(系别),Dean(系主任),CNO(课程号),Grade(成绩)SDC中的函数依赖:SNO Sname SNO Sage SNOSDEPT,SDEPT DEAN,(SNO,CNO)GRADE,说明,函数依赖不是指关系模式R的某个或某些关
9、系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。例如“姓名年龄”这个函数依赖只有在不允许有同名人的条件下成立函数依赖反映了一种语义完整性约束,说明(续),函数依赖与属性间的联系类型有关,关系内属性间的联系11(one to one)关系 一一对应关系:y=f(x)单值函数 例:sno:sname 1:1(Students)一个学号只对应一个学生(S)1:n(one to many)一对多的关系 clno:sno 1:n 一个班级内对应多个学生(S)m:n(many to many)多对多关系 在sc 中 sno:cno
10、 m:n 多对多的关系(SC),根据函数依赖的定义,可找出下面规律:在一个关系模式中,如属性X,Y有1:1联系,则存在函数依赖XY、YX,可记作XY X、Y是1:m联系,则存在YX,但XY X、Y是n:m联系,则X、Y之间不存在任何函数依赖,说明(续),函数依赖,函数依赖的导出 通过关系中各属性的实际意义直接定义通过Amstrong公理推导通过有代表性的关系值反推,函数依赖举例,检验:AC?CA?ABD?辨识:模式上成立的依赖:依赖在模式的所有关系实例上都成立,函数依赖练习,找出上面关系可能满足的函数依赖,AB,AC,BC,A(B,C),(A,B)C,关系模式上的函数依赖是语义范畴的概念,我们
11、只能根据语义来确定函数依赖!,函数依赖的分类,平凡的函数依赖与非平凡的函数依赖如果XY,且YX,则称XY为平凡的函数依赖。即:如果对于函数依赖 A1A2An Ai,Ai是A中的一个,则该函数依赖就是平凡的函数依赖SNOSNO是平凡的函数依赖如果XY,且YX,则称XY为非平凡的函数依赖。如:snosname,sno sname 即:B中至少有一个属性不在A中说明:对任何R,一些平凡函数依赖总是成立的。,函数依赖的分类,完全函数依赖与部分函数依赖在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X,都有 X Y,则称Y完全函数依赖于X,记作X F Y。若XY,但Y不完全函数依赖于X,则称Y
12、部分函数依赖于X,记作X P Y。,范例,关系模式SDC(SNO,Sname,Sage,SDept,DEAN,CNO,GRADE)主码:(SNo,CNo)函数依赖:(SNo,CNo)Grade Sno SName,(Sno,Cno)SName Sno SDept,(Sno,Cno)SDept SDept DEAN,注意:只有当决定因素是组合属性时,讨论部分依赖才有意义,传递函数依赖与直接函数依赖 在R(U)中,如果XY,(YX),YX,YZ,则称Z对X传递函数依赖,记做:,提问:找出SDC(SNO,Sname,Sage,SDept,DEAN,CNO,GRADE)中的传递函数依赖。,提问:找出关
13、系模式(工号、姓名、级别、工资)中的传递依赖。,说明:加上yx,是避免 x y,否则x z。,直接,x z,函数依赖的分类,传递,设有关系模式R(职工名,项目名,工资,部门名,部门经理),若规定每位职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。思考:关系模式R的基本函数依赖?(项目,职工)工资项目部门部门经理,6.2.2 码,码(形式化定义)定义:设有关系模式R(U,F),X为U的子集,若X U,则X为R的一个候选码(Candidate Key)。最简单情况单个属性为码;最极端情况全部属性为码,称为全码。,f,码,定义主码:若R(U,F)有多个候选码,则可
14、以从中选定一个作为R的主码。主属性:包含在每一个候选码中的属性,称作主属性。非主属性:不包含在每一个候选码中的属性,称作非主属性。全码:关系模式的码由整个属性组构成。,范例,找出下面关系模式的主码:SDC(SNO,SNAME,Sage,SDEPT,Dean,CNO,GRADE)函数依赖:,异常的原因数据依赖的约束解决方法数据库设计的规范化分解 范式是对关系的不同数据依赖程度的要求,是规范化过程中为不同程度的规范化要求而设立的不同标准。,范式(Normal Forms),规范化各种不同的范式都是以对关系模式的属性间允许的数据依赖加以限制的形式表示的。一个关系满足某个范式所规定的一系列条件时,它就
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课件 db 关系 理论
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6578699.html