《《关系数据库理论》PPT课件》由会员分享,可在线阅读,更多相关《《关系数据库理论》PPT课件(18页珍藏版)》请在金锄头文库上搜索。
1、 关系数据库理论关系数据库理论l关系代数关系代数l关系数据库规范化理论关系数据库规范化理论 关系数据库设计理论关系数据库设计理论是数据库设计的指南,用来解决关系模型的优化问题。01 Radio Bejing01 Radio Bejing基础基础: 函数依赖理论和规范化理论。l l函数依赖函数依赖函数依赖函数依赖设设R(A1, A2, , An)为为一关系模式,X、Y为属性全集UA1, A2, , An的子集,从关系R中任取两个元组u、v,若有uX=vX(表示元组u在属性X上的值等于元组v在属性X上的值),则有uY=vY, 称X函数决定Y,或者称Y函数依赖于X。用符号: X Y 表示。例如: D
2、EPT(deptno,dname,loc)例如: u,v u.deptno=v.deptno u.dname=v.dname完全函数依赖完全函数依赖完全函数依赖完全函数依赖在关系模式R(U)中,如果X Y成立,并且对X的任何真子集X, X不能函数决定Y(X Y),则称Y对X是完全函数依赖,用符号表示。在关系模式R(U)中,XY成立,如果X存在真子集X,而且X Y成立,则称Y对X是部分函数依赖,用符号表示。 例如:SC (SNO, CNO, SCORE)SNO,CNO SCORE SC(SNO, CNO, SCORE, SNAME)SNO,CNO SCORE, SNO,CNO SNAME,Sno
3、 Sname.码的定义码的定义在关系模式R(U)中,K为R的属性或属性组,若满足 ,则K为关系模式R的候选码。包含在后选码的属性称为主属性,而不含在候选码中的属性称为非主属性。lArmstrongArmstrong公理公理公理公理设U为属性总体集,F为U上的一组函数依赖,对于关系模式R(U,F)有下列推理规则:A1: 自反律若YXU,则X Y为F蕴含。A2:增广律若XY为F所蕴含,且ZU,则XZYZ为F所蕴含。A3:传递律若XY,YZ为F所蕴含,则XZ为F所蕴含。求码求码? 根据码的定义根据码的定义,由已知函数依赖由已知函数依赖,导出导出R(U,F)的全部函数依的全部函数依赖赖.从上述Arms
4、trong公理还可得出下面三条推理规则:A4:合并规则若XY、XZ成立,则XYZ也成立。A5:伪传递规则若XY和WYZ成立,则WXZ也成立。A6:分解规则如果XY和 ZY成立,则XZ也成立。从合并规则和分解规则可得到一个重要的结论:引理1:XA1A2An成立的充分必要条件是XAi成立,i=1, 2, n属性集团包定义属性集团包定义设F为属性集U上的一组函数依赖, X U, X =A |X A能由F根据Armstrong公理理导出,称X 为属性集X关于函数依赖集F的闭包。于是判断 XY能否由F根据Armstrong公理导出的问题,就转化为求 X.,即判断Y是否为X.的子集的问题。判断某属性判断某
5、属性判断某属性判断某属性(或属性组)(或属性组)(或属性组)(或属性组)能函数决定哪能函数决定哪能函数决定哪能函数决定哪些属性些属性些属性些属性(1) 选X作为闭包X的初值X(O) (2) 由X(i) 计算X(i+1)时,它是由X(i)并上其属性集合A所组成,其中A满足下列条件:y X(i)。且F中存在一函数依赖YZ,而AZ,因为U是有穷的,所以上述过程经过有限步后会达到X(i) X(i+1),此时 X(i)为所求的 X。例如:F由下列函数依赖组成:ABC DEGCABECBCD CGBDACDBCEAG设XBD, 求 X。求求X 的迭代算法,计算步骤如下:的迭代算法,计算步骤如下:计算步骤:
6、计算步骤: 设X(O)BD计算X(1):在F中找其左边为B或D或BD的函数依赖,在F中有其函数依赖D EG。所以X(1)BD EGBDEG。计算X(2):在F中找包含X(1)的函数依赖,除DEG外,还有BEC。所以X(2)BDEG CBCDEG。计算X(3):在F中找包含X(2)的函数依赖,除去已使用过的函数依赖外,还有CA,BCD,和CEAG,则得X(3)ABCDEG。由于X(3)由全部属性组成,显然X(3)X(4)。因此得(BD)+ABCDEG例例2, 已知关系已知关系R, U=(A,B,C,D,E)F=(ABC,BD,CE,ECB,ACB) 求R的码?设R的码为AB, 先求(AB) ab
7、 c c e bd acbAB ABCD ABCDEX(O) X(1) X(2) 因为: (AB) ABCDE, 所以AB是关系的码 上述计算X的算法可用于确定R(U, F)关系模式的码.码必须满足两条件:它能码必须满足两条件:它能码必须满足两条件:它能码必须满足两条件:它能函数决定全部属性;它必函数决定全部属性;它必函数决定全部属性;它必函数决定全部属性;它必须是最小集须是最小集须是最小集须是最小集规范化设计方法规范化设计方法规范化设计方法规范化设计方法一个低级范式的关系模式,通过分解(投影)的方法转换成多个高一级范式的关系模式的这种过程称为规范化设计。满足一定条件的关系模式1NF,2NF,
8、3NF是E.F.Codd在1 971年提出的,1974年Codd和Boyce共同提出BCNF范式,为第三范式的改进第一范式(第一范式(第一范式(第一范式(1 1 1 1NFNFNFNF):):):):如果一关系模式,它的每一个分量是不可分的数据项,即其域为简单域,则此关系模式为第一范式。例:将学生简历及选课等数据设计成一个关系模式: STUDENT STUDENT (SNO,SNAME,AGE,SEX,CLASS,DEPTNO,DEPTNAME,CNO,CNAME,SCORE,CREDIT)设该关系模式满足下列函数依赖:FSNOSNAME, SNOAGE, SNOSEX, SNOCLASS,
9、CLASSDEPTNO, DEPTNODEPTNAME, CNOCNAME, SNO.CNOSCORE, CNOCREDIT每一属性对应的域为简单域,即其域值不可再分第二范式(第二范式(第二范式(第二范式(2 2NFNF):):):):若关系模式R1NF,且每个非主属性完全函数依赖于码,则称R2NF。例例例例: : STUDENT STUDENT (SNO,SNAME,AGE,SEX,CLASS,DEPTNO,DEPTNAME,CNO,CNAME,SCORE,CREDIT)主码: SNO, CNOSNO S NAME 数据冗余数据冗余数据冗余数据冗余: 插入,更新异常插入,更新异常插入,更新异
10、常插入,更新异常学生学习多门课程后,其人事信息重复出现多次。关系是关系是关系是关系是1 1NFNF不是不是不是不是2NF2NF时存在的问题时存在的问题时存在的问题时存在的问题STUDENT STUDENT (SNO,SNAME,AGE,SEX,CLASS,DEPTNO,DEPTNAME,CNO,CNAME,SCORE,CREDIT)根据关系模型完整性规则,主码属性值不能取空值。新生刚入学,还未选修课程时,元组不能插入关系中。 删除异常删除异常删除异常删除异常,学生退选了课程时,他们的一般信息会丢失分解关系模式分解关系模式STUDENT STUDENT (SNO,SNAME,AGE,SEX,CL
11、ASS,DEPTNO,DEPTNAME,CNO,CNAME,SCORE,CREDIT)SNO,CNOSCORESC(SNO,CNO,SCORE)CNOCNAME CREDITSNO-SNAME,AGE,SEX, CLASS, DEPTNO, DEPTNAMESC(SNO,CNO,SCORE)COURSE(CNO,CNAME,CREDIT)STUDENT1 (SNO,SNAME,AGE,SEX,CLASS, DEPTNO,DEPTNAME)第三范式(第三范式(第三范式(第三范式(3 3NFNF)若关系模式R(U, F)为第一范式,不存在非主属性对码的传递依赖,则称R(U, F)为3NF。其中U为
12、关系模式的属性全集,F为关系模式所满足的函数依赖集。所谓传递依赖,是指当属性间存在下列函数依赖XY,YX,YA,则称A传递依赖于X。STUDENT1 (SNO,SNAME,AGE,SEX,CLASS, DEPTNO,DEPTNAME):SNOCLASS,CLASSSNO,CLASSDEPTNOCLASS2(CLASS,DEPTNO)DEPARTMENT(DEPTNO,DEPTNAME)关系模式关系模式STUDENT经过上述分解处理,分解成下列关系模式:经过上述分解处理,分解成下列关系模式:STUDENT(SNO,SNAME,AGE,SEX,CLASS)CLASS2(CLASS,DEPTNO)DEPARTMENT(DEPTNO,DEPTNAME)COURSE(CNO,CNAME,CREDIT)SC(SNO,CNO,SCORE)1 1NFNF消除非主属性对码的部分函数依赖2 2NFNF3 3NFNF消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖BCNFBCNF