第4章 关系数据理论(1).pptVIP

  • 5
  • 0
  • 约9.13千字
  • 约 68页
  • 2017-10-19 发布于广西
  • 举报
推荐参考书: 数据库系统概论 (美) Abraham Silberschatz Henry F.Korth S.Sudarshan 著 杨冬青 唐世渭等译 机械工业出版社 例如:库存(仓库号,设备号,数量,地点) F={(仓库号,设备号)?数量,仓库号?地点},则该关系属于第几范式? 3NF的另一种表达方式: 若对F+中所有形如???的函数依赖,其中??R, ??R,下面至少有一个成立: ???是平凡的函数依赖 ?包含候选码 ?- ?中的每个属性A都包含在R的候选码中 BCNF的另一种表达方式: 若对F+中所有形如???的函数依赖,其中??R, ??R,下面至少有一个成立: ???是平凡的函数依赖 ?包含候选码 或者说:如果R是3NF,而且不存在主属性对非主属性的函数依赖,则R是BCNF 例:关系模式: 管理(仓库号,设备号,职工号) 一个仓库可以有多个职工 一个职工仅在一个仓库工作 每个仓库一种设备仅由一名职工保管,但每名职工可以保管多种设备 则:F={职工号?仓库号,(仓库号,设备号) ?职工号} 问:该关系的码?属于第几范式? 或者: 若? →→ ?,则: 对关系模式R(U)上的任意合法关系r,对r中任一元组对t1和t2,若t1[?]=t2[? ],则r中对存在元组t3和t4,使得: t1[?]=t2[? ]= t3[?]=t4[? ], t3[?]=t1[?], t3[U-?]=t2[U-?] t4[?]=t2[?], t4[U-?]=t1[U-?] ﹡产生冗余及插入、删除、更新异常的原因: sname,sdept部分函数依赖于候选码。 ﹡解决方法:将SC分解为两个关系模式,以消除部分函数依赖 : sc(Sno, Cno, Grade) sx(Sno, sname,sdept) 所以: sc∈2NF, sx∈2NF Sno Cno Grade Sdept sname SC 解答:(仓库号,设备号) ?地点,存在非主属性对码的部分函数依赖,所以不属于2NF,属于1NF 解决办法:模式分解: 库存(仓库号,设备号,数量) 仓库(仓库号,地点) P 园区7号 10 q02 w02 园区5号 78 q05 w01 园区5号 80 q02 W01 园区5号 100 q01 W01 地点 数量 设备号 仓库号 三、第三范式(3NF) (1)3NF的定义 若R∈2NF,且每一个非主属性都不传递函数依赖于码,则R∈3NF 。 注:不能传递函数依赖于码 例如:关系模式student(sno,sname,sdept,dept_manager) 主码:sno 存在函数依赖: sno→sname,sdept sdept→dept_manager 则有传递函数依赖:sno→dept_manager 所以,student ∈2NF,student ?3NF …… …… …… …… 李利 数学系 王蒙蒙赵晓 计算机系 张林赵晓 计算机系 王乐天赵晓 计算机系 钱红赵晓 计算机系 张力dept_manager sdept sname sno ﹡产生冗余及插入、删除、更新异常的原因: dept_manager传递函数依赖于候选码。 ﹡解决方法:将student分解为两个关系模式,以消除传递函数依赖 : student(sno,sname,sdept) dm(sdept,dept_manager) 所以: student∈3NF, dm∈3NF sno sdept sname dept_manager 说明: ※若R∈3NF,则R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。 ※如果R∈3NF,则R也是2NF。 ※采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、更新异常等问题。 ※将一个2NF关系分解为多个3NF的关系后,并不能完全消除关系模式中的各种异常情况和数据冗余。 四、BC范式(BCNF) (1)BCNF的定义 对于关系R,若R∈1NF,且对于所有非平 凡的函数依赖,其决定因素都含候选码,(即若X→Y且Y?X时,X必含候选码)则R∈BCNF。 注:若R∈BCNF ◆每一个决定属性集(因素)都包含(候选)码; ◆ R中的所有属性(

文档评论(0)

1亿VIP精品文档

相关文档