预习提纲 一、准备知识 1. 为什么要对关系进行规范化? 2. 什么是关系的规范化? 3. 如何对关系进行规范化(如何将一个不好的关系规范化为好的)? 1 )如何判断一个关系模式是好的? 2 )规范化理论:
函数依赖、平凡的函数依赖、非平凡的函数依赖、完全函数依赖、部分函数依赖、传递依赖、 候选码、主属性、非主属性、 第 第 1NF 、第 2NF 、第 3NF 、BCNF 3 )规范化过程 ① 给出函数依赖 ② 写出候选码 ③ 判断达到的 NF 级别 ④ 判断是否存在问题 ⑤ 分析存在问题的原因 ⑥ 给出解决办法 ⑦ 再次判断分解后的关系模式是否解决了问题 g 4.Armstrong 公理系统
逻辑蕴含 Armstrong 公理 函数依赖的闭包 属性闭包 快速求解候选码的方法 函数依赖集的等价 最小函数依赖集 5. 关系模式分解 分解的等价定义(分解准则)
什么是无损连接性? 什么是保持函数依赖? 如何判断 不同的分解准则能达到的规范化级别
二、 作业练习 1.在关系数据库中,从关系规范化的意义看,如果关系 R 中的非主属性对码有部分函数依赖,那么 R 至多是(
) A.1NF
B.2NF
C.3NF
D. BCNF 2.设有关系模式 R(S,D,M),其函数依赖集:F={S→D,D→M},则关系模式 R 的规范化程度最高达到()。
A. 1NF
B. 2NF
C. 3NF
D. BCNF 3.设有关系模式 R(A,B,C,D),其数据依赖集:F={(A,B)→C,C→D},则关系模式 R 的规范化程度最高达到( )。
A.1NF
B.2NF
C.3NF
D.BCNF 4.X→Y,当下列哪一条成立时,称为平凡的函数依赖()。
A.X∈Y
B.Y X
C.X∩Y=Φ
D.X∩Y≠Φ 5.有关系:教学(学号、教工号、课程号) 假定每个学生可以选修多门课程,每门课程可以由多名学生来选修,每个老师可以讲授多门课程,每门课程只能由一个老师来讲授,那么该关系的候选码是(
) A.(课程号,教工号)
B. (学号,课程号) C.
(学号,教工号)
D. (学号,教工号,课程号) 6.在关系模式 R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},则候选码是(A 或(BC)),关系模式 R(A,B,C,D)的规范化程度最高达到( BCNF )。
7.设有关系模式 R(职工编号,日期,日营业额,部门名,部门经理),该模式记录了商店里每个职工的日营业额,以及职工所在的部门和经理信息。
如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。
试回答下列问题:
(1)根据上述规定,写出模式 R 的基本 FD 和候选码; F:{(职工编号,日期)—>日营业额 ,职工编号 —>部门名, 部门名—>部门经理}
候选码:(职工编号,日期)
(2)判断 R 是否达到 3NF,若不是,请分解成 3NF。
未达到 3NF R1(职工编号 ,部门名)
R2(部门名,部门经理)
R3((职工编号,日期,日营业额)
8. 有关系模式 R(ABC),F 是 R 上成立的函数依赖集,F={A->B,C->B},写出 R 的候选码。(AC)
9. 设有关系模式 R(C,T,H,I,S,G),其上的函数依赖集 F={CS→G,C→T,TH→I,HI→C,HS→I}。试给出 R 的候选键。(HS)
(HS)关于 F 的属性闭包=(HSICGT)=U
10. 设有关系模式 R(A,B,C,D,E),F={A→C,C→D,B→C,DE→C,CE→A}。求 R 的所有候选键。(BE)
(BE)关于 F 的属性闭包=(BEC D A )=U
11. 关系模式 R(ABC),F 是 R 上成立的函数依赖集,F={B->C,C->A},那么分解ρ={AB,AC}是否为无损分解和保持函数依赖的分解? AB 与 AC 的交集:A AB 与 AC 的差:B
AC 与 AB 的差:C
否,否 12.假设某公司销售业务中使用的订单格式如下:订单号:1145 订货日期:09/15/2002 客户名称:ABC 客户电话:8141763 产品编号 品名 价格 数量 金额 A 电源 100.00 20 2000.00 B 电表 200.00 40 8000.00 C 卡尺 40.00 50 2000.00 总金额:12000.00 公司的业务规定:
(1)订单号是唯一的,每张订单对应一个订单号;
(2)一张订单可以订购多种产品,每一种产品可以在多个订单中出现; (3)一张订单有一个客户,且一个客户可以有多张订单; (4)每一个产品编号对应一种产品的品名和价格; (5)每一个客户有一个确定的名称和电话号码。
试根据上述表格和业务规则设计关系模式:R(订单号,订货日期,客户名称,客户电话,产品编号,品名,价格,数量)。试回答下列问题:
(1) 根据上述规定,写出关系模式 R 的基本函数依赖。
F:{(订单号,产品编号)—>(订货日期 ,数量), 订单号—>客户名称, 产品编号—>(品名,价格) 客户名称—>客户电话} (2) 找出关系模式 R 的候选码。
候选码: (订单号,产品编号)
(3) 判断关系模式 R 最高可达到第几范式?为什么? (4) 如果 R 不属于 3NF,请给出一个可能的 3NF 分解。
R1(订单号,客户名称)
R2(产品编号,品名,价格)
R3(客户名称,客户电话) )
R4((订单号,产品编号,订货日期 ,数量)
答案:
1-5 ABBBB
6. A 或(BC),BCNF
7. (1)F:{(职工编号,日期)->日营业额,职工编号->部门名,部门名->部门经理}
关键码:(职工编号,日期)
(2)未达到第 3NF,分解为以下三个关系模式:
R1 (职工编号,日期,日营业额) R2(职工编号,部门名)
R3 (部门名, 部门经理) 8.
AC
9.HS
10.BE
11. 不具有无损连接也不具有函数依赖保持 12.
(1) F:{订单号->客户名称, 产品编号->(品名,价格), 客户名称->客户电话, (订单号,产品编号)->(数量,订货日期)}
(2)候选码:(订单号,产品编号)
(3)R 属于第 1NF。
(4)R1 (订单号,客户名称) R2 (产品编号,品名,价格)
R3(客户名称,客户电话) R4(订单号,产品编号,数量,订货日期)
相关热词搜索: 规范化 理论