您当前的位置: 首页 >  liyatjj 数据库

数据库第六章总结

liyatjj 发布时间:2021-04-30 14:41:30 ,浏览量:2

第六章 关系数据理论

目录
  • 6.1问题提出
  • 6.2规范化
    • 6.2.1函数依赖
    • 6.2.2码
    • 6.2.3范式
    • 6.2.4 2NF
    • 6.2.5 3NF
    • 6.2.6 BCNF
    • 6.2.7 多值依赖
    • 6.2.8 4NF
  • 6.3候选码求解

6.1问题提出

(1)提出问题 利用关系数据库的规范化理论,针对具体问题,构造数据模式。 (2)三元组:R 由于二维表每个分量必须是不可分开的数据项,所以满足条件的关系模式就属于第一范式(1NF)。 (3)数据依赖 是一个关系内部属性与属性之间的一种约束关系。 主要有:函数依赖和多值依赖。 (4)此种关系模式存在的问题: ***数据冗余:浪费大量的存储空间:每一个系主任的姓名重复出现 ***更新异常:更新数据时,维护代价大:某系更换系主任后,须修改有关的每一个元组。 ***插入异常:如果一个系刚成立,尚无学生,则无法把这个系及其系主任存入数据库。 ***删除异常:如果某个系的学生全部毕业了, 则在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。 (5)结论 由于某些数据依赖引起的插入异常、删除异常和更新异常,数据冗余。 可以用规范化理论消除。 ----->简单说,就是’‘拆’

6.2规范化 6.2.1函数依赖

(1)函数依赖定义 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。 函数依赖:若对于R(U)的任意一个可能的关系r,r 中不可能存在:两个元组在X上的属性值相等,而在Y上的属性值不等, 则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。 【注】: 若X→Y,并且Y→X, 则记为X←→Y。 若Y不函数依赖于X, 则记为X→Y。 X→Y,但Y⊈X则称X→Y是非平凡的函数依赖。 X→Y,但Y⊆X 则称X→Y是平凡的函数依赖。

(2)完全函数依赖,部分函数依赖:在R(U)中, 如果X→Y,并且对于X的任何一个真子集X’, 都有 X’ ↛ Y, 则称Y对X完全函数依赖,记作X → Y。 若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X → Y 【例】 SC(Sno, Cno, Grade)中有: (Sno, Cno) → Grade (Sno, Cno)→Sno (Sno, Cno) →Cno (3)传递函数依赖 在R(U)中,如果X→Y(Y⊈X),Y↛X,Y→Z,Z⊈Y, 则称Z对X传递函数依赖:X → Z。 【注】: 如果Y→X, 即X←→Y,则Z直接依赖于X,而不是传递函数依赖。

6.2.2码

1.候选码,超码定义 X → F Y X \overset F \rightarrow Y X→FY 设K为R中的属性或属性组合。若 K → F U K \overset F \rightarrow U K→FU,则K称为R的一个候选码 如果U部分函数依赖于K,即 K → P U K \overset P \rightarrow U K→PU,则K称为超码 。 【注】候选码是最小的超码,即K的任意真子集都不是候选码; 若关系模式R有多个候选码,则选定其中的一个做为主码。 包含在任何一个候选码中的属性 ,称为主属性 不包含在任何码中的属性称为非主属性

6.2.3范式

1.某一关系模式R为第n范式,可简记为R∈nNF 在这里插入图片描述 2.**规范化:**一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。

6.2.4 2NF

1.若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2NF 2.一个关系模式不属于2NF: 插入异常 删除异常 修改复杂 可用投影分解将其分解。 【例】S-L-C(Sno,Sdept,Sloc,Cno,Grade), Sloc为学生的住处,并且每个系的学生住在同一个地方。S-L-C的码为(Sno,Cno)。 在这里插入图片描述 解决办法:拆分 SC(Sno,Cno,Grade) S-L(Sno,Sdept,Sloc) 在这里插入图片描述 在这里插入图片描述

6.2.5 3NF

1.设关系模式R∈1NF,若R中不存在这样的码X、属性组Y及非主属性Z (Y⊇ Z), 使得X→Y,Y→Z成立,Y ↛ X不成立, 则称R ∈ 3NF。

6.2.6 BCNF

1.设关系模式R∈1NF,若X →Y且Y ⊆ X时X必含有码,则R∈BCNF。 即每一个决定属性集都包含候选码,则R∈BCNF。 可参考书上例题6.5~6.8

6.2.7 多值依赖

1.设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。 【例】 Teaching(C, T, B) Teaching∈BCNF ,对于C的每一个值,T有一组值与之对应,而不论B取何值。 所以T多值依赖于C,即C→→T。 2.若X→→Y,而Z=Ф,则称X→→Y为平凡的多值依赖,否则称X→→Y为非平凡的多值依赖。

6.2.8 4NF

关系模式R∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y ⊈ X),X都含有码,则R∈4NF。

6.3候选码求解

1.闭包(记作X+ )就是由一个属性直接或间接推导出的所有属性的集合。 L类 仅出现在函数依赖左部的属性。 R 类 仅出现在函数依赖右部的属性。 N 类 在函数依赖左右两边均未出现的属性。 LR类 在函数依赖左右两边均出现的属性。

2.定理及其推论 对于给定的关系模式R及其函数依赖集F, 若X(X∈R)是L类属性,则X必为R的任一候选码的成员。 对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,且X+包含了R的全部属性;则X必为R的唯一候选码。 【例】设有关系模式R(A,B,C,D),其函数依赖集F={D→B,B →D,AD →B,AC →D},求R的所有候选码。 L类:A,C;且(AC)+=ABCD,故AC是R的唯一候选码。 3.定理 (1)对于给定的关系模式R及其函数依赖集F,若X(X∈R)是R类属性,则X不在任何候选码中。 因为在右侧的不能推导出其他元素,可以由其他元素推导得到。 (2)对于给定的关系模式R及其函数依赖集F,若X(X∈R)是N类属性,则X必包含在R的任一候选码中。 (3)对于给定的关系模式R及其函数依赖集F, 若X(X∈R)是L类和N类组成的属性集,且X+包含了R的全部属性;则X是R的唯一候选码。 【例】R,U=(A,B,C,D,E,G), F={AB→C,CD→E,E→A,A→G},求候选码。 解:(1) L=(B,D), R=(G), LR=(A,C,E ), N=NULL; (2) L∪N=(B,D), (BD)+=BD; 所以可以得到候选码为:ABD,BCD,BDE。

还没搞懂的题:设关系模式 U=(A , B , C , D , E , F ),函数依赖集F={A→BC , BC→A , BCD→EF , E→C}, 求 R 的候选码。 【答案】 (1) L=(D), R=(F), LR=(A , B , C , E ), N=空; (2) L∪N=(D) , D+=D; (3)因为 (DA)+=DABCEF=U, (DB)+=DB ,(DC)+=DC, (DE)+=DEC, 所以 DA 是候选码; (4)因为 (DBC)+=DBCAEF=U, (DBE)+=DBECAF=U, (DCE)+=DCE, 所以DBC、DBE 是候选码; (5) U 的候选码有 DA、DBC、DBE 比较特殊,候选码有三个,且如何推导得出DBE??? 难道是因为E→C且C→E?如何得出?

4.应当确定一个合适的,能够反映现实世界的模式,而不是说规范化程度越高越好。

总结:对于范式概念理解方面以及题目练习还是不熟练。

完。

关注
打赏
1688896170
查看更多评论

liyatjj

暂无认证

  • 2浏览

    0关注

    99博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0546s