1 / 18

关系数据库理论

关系数据库理论. 关系代数. 关系数据库规范化理论. 关系数据库设计理论 是数据库设计的指南,用来解决关系模型的优化问题。. 基础: 函数依赖理论和规范化理论。. 例如: DEPT(deptno,dname,loc) 例如: u,v u.deptno=v.deptno u.dname=v.dname. 函数依赖

oceana
Download Presentation

关系数据库理论

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 关系数据库理论 • 关系代数 • 关系数据库规范化理论

  2. 关系数据库设计理论 • 是数据库设计的指南,用来解决关系模型的优化问题。 基础: 函数依赖理论和规范化理论。 例如: DEPT(deptno,dname,loc) 例如: u,v u.deptno=v.deptno u.dname=v.dname • 函数依赖 • 设R(A1, A2, …, An)为一关系模式,X、Y为属性全集U={A1, A2, …, An}的子集,从关系R中任取两个元组u、v,若有u·X=v·X(表示元组u在属性X上的值等于元组v在属性X上的值),则有u·Y=v·Y, 称X函数决定Y,或者称Y函数依赖于X。用符号: • X Y 表示。 01 Radio Bejing 01 Radio Bejing

  3. Sno >Sname 完全函数依赖 在关系模式R(U)中,如果X Y成立,并且对X的任何真子集X, X不能函数决定Y(XY),则称Y对X是完全函数依赖,用符号表示。 在关系模式R(U)中,XY成立,如果X存在真子集X,而且XY成立,则称Y对X是部分函数依赖,用符号表示。 例如: SC (SNO, CNO, SCORE) SNO,CNO SCORE SC(SNO, CNO, SCORE, SNAME) SNO,CNO  SCORE, SNO,CNO SNAME,

  4. . 码的定义 在关系模式R(U)中,K为R的属性或属性组,若满足 ,则K为关系模式R的候选码。包含在后选码的属性称为主属性,而不含在候选码中的属性称为非主属性。

  5. . 求码? 根据码的定义, 由已知函数依赖,导出R(U,F)的全部函数依赖 • Armstrong公理 • 设U为属性总体集,F为U上的 • 一组函数依赖,对于关系模式 • R(U,F)有下列推理规则: • A1: 自反律 • 若YXU,则X Y为F蕴含。 • A2:增广律 • 若XY为F所蕴含,且ZU,则X·ZY·Z为F所蕴含。 • A3:传递律 • 若XY,YZ为F所蕴含,则XZ为F所蕴含。

  6. 从上述Armstrong公理还可得出下面三条推理规则:从上述Armstrong公理还可得出下面三条推理规则: A4:合并规则 若XY、XZ成立,则XYZ也成立。 A5:伪传递规则 若XY和WYZ成立,则WXZ也成立。 A6:分解规则 如果XY和 ZY成立,则XZ也成立。 从合并规则和分解规则可得到一个重要的结论: 引理1: XA1·A2…An成立的充分必要条件是XAi成立,i=1, 2, … n

  7. 判断某属性(或属性组)能函数决定哪些属性 属性集团包定义 设F为属性集U上的一组函数依赖, X  U, X+ ={A |X  A能由F根据Armstrong公理理导出},称X+ 为属性集X关于函数依赖集F的闭包。 于是判断 XY能否由F根据Armstrong公理导出的问题,就转化为求X+..,即判断Y是否为X+..的子集的问题。

  8. 求X+的迭代算法,计算步骤如下: (1) 选X作为闭包X+的初值X(O) (2) 由X(i) 计算X(i+1)时,它是由X(i)并上其属性集合A所组成,其中A满足下列条件: y  X(i)。且F中存在一函数依赖YZ,而AZ, 因为U是有穷的,所以上述过程经过有限步后会达到X(i) =X(i+1),此时 X(i)为所求的 X+。 例如:F由下列函数依赖组成: ABC DEG CA BEC BCD CGBD ACDB CEAG 设X=BD, 求 X+。

  9. 计算步骤: 设X(O)=BD ·计算X(1):在F中找其左边为B或D或BD的函数依赖,在F中有其函数依赖D  EG。所以X(1)=BD  EG=BDEG。 ·计算X(2):在F中找包含X(1)的函数依赖,除DEG外,还有BEC。所以X(2)=BDEG  C=BCDEG。 ·计算X(3):在F中找包含X(2)的函数依赖,除去已使用过的函数依赖外,还有CA,BCD,和CEAG,则得X(3)=ABCDEG。由于X(3)由全部属性组成,显然X(3)=X(4)。因此得 (BD)+=ABCDEG

  10. 码必须满足两条件:它能函数决定全部属性;它必须是最小集码必须满足两条件:它能函数决定全部属性;它必须是最小集 例2, 已知关系R<U,F>, U=(A,B,C,D,E) F=(ABC,BD,CE,ECB,ACB) 求R的码? 设R的码为AB, 先求(AB) + ab  c c  e bd acb ABABCD ABCDE X(O) X(1) X(2) 因为: (AB) +=ABCDE, 所以AB是关系的码 上述计算X+的算法可用于确定R(U, F)关系模式的码.

  11. 满足一定条件的关系模式 1NF,2NF,3NF是E.F.Codd在1 971年提出的,1974年Codd和Boyce共同提出BCNF范式,为第三范式的改进 规范化设计方法 一个低级范式的关系模式,通过分解(投影)的方法转换成多个高一级范式的关系模式的这种过程称为规范化设计。

  12. 第一范式(1NF): 如果一关系模式,它的每一个分量是不可分的数据项,即其域为简单域,则此关系模式为第一范式。 例:将学生简历及选课等数据设计成一个关系模式: STUDENT (SNO,SNAME,AGE,SEX,CLASS,DEPTNO,DEPTNAME,CNO,CNAME,SCORE,CREDIT) 设该关系模式满足下列函数依赖: F={SNOSNAME, SNOAGE, SNOSEX, SNOCLASS, CLASSDEPTNO, DEPTNODEPTNAME, CNOCNAME, SNO.CNOSCORE, CNOCREDIT} 每一属性对应的域为简单域,即其域值不可再分

  13. 主码: SNO, CNO SNO S NAME 第二范式(2NF): 若关系模式R1NF,且每个非主属性完全函数依赖于码,则称R2NF。 例: STUDENT (SNO,SNAME,AGE,SEX,CLASS,DEPTNO,DEPTNAME,CNO,CNAME,SCORE,CREDIT)

  14. 关系是1NF不是2NF时存在的问题 学生学习多门课程后,其人事信息重复出现多次。 根据关系模型完整性规则,主码属性值不能取空值。新生刚入学,还未选修课程时,元组不能插入关系中。 学生退选了课程时,他们的一般信息会丢失 STUDENT (SNO,SNAME,AGE,SEX,CLASS,DEPTNO,DEPTNAME,CNO,CNAME,SCORE,CREDIT) · 数据冗余: · 插入,更新异常 · 删除异常,

  15. 分解关系模式 STUDENT (SNO,SNAME,AGE,SEX,CLASS,DEPTNO,DEPTNAME,CNO,CNAME,SCORE,CREDIT) CNO->CNAME CREDIT SNO,CNO->SCORE SNO->SNAME,AGE,SEX, CLASS, DEPTNO, DEPTNAME SC(SNO,CNO,SCORE) SC(SNO,CNO,SCORE) COURSE(CNO,CNAME,CREDIT) STUDENT1 (SNO,SNAME,AGE,SEX,CLASS, DEPTNO,DEPTNAME)

  16. SNOCLASS,CLASSSNO,CLASSDEPTNO 第三范式(3NF) 若关系模式R(U, F)为第一范式,不存在非主属性对码的传递依赖,则称R(U, F)为3NF。其中U为关系模式的属性全集,F为关系模式所满足的函数依赖集。 所谓传递依赖,是指当属性间存在下列函数依赖XY,YX,YA,则称A传递依赖于X。 STUDENT1 (SNO,SNAME,AGE,SEX,CLASS, DEPTNO,DEPTNAME): CLASS2(CLASS,DEPTNO) DEPARTMENT(DEPTNO,DEPTNAME)

  17. 关系模式STUDENT经过上述分解处理,分解成下列关系模式:关系模式STUDENT经过上述分解处理,分解成下列关系模式: STUDENT(SNO,SNAME,AGE,SEX,CLASS) CLASS2(CLASS,DEPTNO) DEPARTMENT(DEPTNO,DEPTNAME) COURSE(CNO,CNAME,CREDIT) SC(SNO,CNO,SCORE)

  18. 1NF 消除非主属性对码的部分函数依赖 2NF 消除非主属性对码的传递函数依赖 3NF 消除主属性对码的部分和传递函数依赖 BCNF

More Related