第6章 关系数据理论-练习12
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ρ
={AB,BC,CD}
A B C a1 a2 a3 a2 a3 a3 D a4 a4 a4
R1(AB) R2(BC) R3(CD)
因为存在一行有a1,a2,a3,a4,具有无损连接性。 F(AB)={ A→B }; F(BC)={ B→C }; F(CD)={ C→D}; 又因为∑Fi≠F,所以不保持函数依赖。
(1)有2个函数依赖: 学号系名
系名公寓楼号 (2)R的候选码是学号。 (3)R中不存在非主属性对主属性的部分函 数依赖,所以R属于第二范式,又由于R中存 在非主属性公寓楼号对主属性的传递函数依 赖,所以R不属于第三范式,因此R最高属于 第二范式。 (4)将R分解为: R1(学号,系名) R2(系名,公寓楼号)
(1)候选码为:S#+C# 主属性:S#,C# 非主属性:GRADE,TNAME,TADDR (2)函数依赖: F={(S#,C#)→GRADE,C#→TNAME,TNAME→TADDR} (3)在模式R中,TNAME不完全依赖于键(S#,C#),因此需进 行分解,可分解为下列两个关系。 SC={S#,C#,GRADE} C={C#,TNAME,TADDR} 分解后,SC中,GRADE完全依赖于侯选键(S#,C#),在C中,主 属性是C#,TNAME、TADDR均完全依赖于C#。 因此,该分 解符合2NF模式。 (4)按上述已分好的两个模式,SC中已满足“每个非主属性都不 传递于R的候选键”,已是3NF,而在C中, C#→TNAME, TNAME→TADDR,TADDR传递依赖于C#,因此还需分成两 个模式:CT(C#,TNAME), T(TNAME,TADD)。 分解后,总共有SC={S#,C#,GRADE},CT(C#,TNAME), T(TNAME,TADD)三个模式。 该分解符合3NF模式。
练习12
已知关系模式R(A,B,C)上成立的FD集为 F={A→B,C→B},设ρ={AB,AC},试分析分解ρ相对于F 是否具有无损连接和保持函数依赖的性质?说出简单 的理由。
(1)判断是否具有无损连接性 建立判断初始表: A B C a1a2b13a1b22a3 R1(A,B) R2(A,C) 由A→B修改初始表: A B C a1a2b13a1a2a3 R1(A,B) R2(A,C) 出现了一行a1,a2,a3,所以该分解具有无损连接性。 (2)F1={ A→B} F2={ } 令G=F1+F2 因为G+<>F+,所以该分解不具有保持函数 依赖的性质。
如何做到3NF的分解?
所谓3NF的分解,就是既保持函数依 赖,又具有无损连接性的分解。
方法:
确定最小函数依赖集; 找到满足函数依赖的分解ρ; 判断该分解是否具有无损连接性; 是,则结束,找到了ρ。 不是,则求其候选码; ρ = ρ∪{候选码}。
举例:
关系模式R(U,F),其中U={A,B,C,D,E}, F={A→D,E →D,D →B, BC→D,DC →A}, 1、求出R的候选码; 2、求最小函数依赖集; 3、将R分解为3NF。
(1)函数依赖: 车间名产品型号
品型号单价 (2)R的候选码是车间名。 (3)R中不存在非主属性对主属性的部分函 数依赖,所以R属于第二范式,又由于R中存 在非主属性产品名、单价对主属性的传递函 数依赖,所以R不属于第三范式,因此R最高 属于第二范式。 (4)将R分解为: R1(车间名,产品型号) R2(产品型号,产品型号,单价)
产品型号产品名 产
练习11
设有表R(学号,系名,公寓楼号)
若有如下事实:一个系有多名学生;一名学
生属于且仅属于一个系;同系的学生都住在 同一栋楼内,不同系的学生住在不同的公寓 楼。 试回答下列问题: (1)根据上述规定,写出关系模式R的基本 函数依赖; (2)找出关系模式R的候选码; (3)关系模式R最高已经达到第几范式?为 什么 (4)如果R不属于3NF,请将R分解为3NF 模式集
•
• •
因为存在一行有a1,a2,a3,a4,是无损连接。 F(AB)={ A→B };F(BC)={ B→C };F(CD)={ C→D}; 又因为∑Fi≠F,所以不保持函数依赖。
3、关系模式R(U,F),其中U={C,T,H,R,S,G}, F={CS→G,C →T,TH →R,HR →C,HS →R}将其保 持依赖分解为3NF。判断其无损连接性?将其转换为既具 有无损连接性又保持函数依赖的分解。 ρ={CSG,CT,THR,HRC,HSR}
→I,I
练习8
设有关系R(W,X,Y,Z), F = { X→Z,WX→Y }。 试求下列问题: (1)关系R属于第几范式?(2)如果关系R不属于 BCNF,请将关系R逐步分解为BCNF。 要求:写出达到每一级范式的分解过程,并指明消除 什么类型的函数依赖。
解:R是1NF。 W 侯选码为WX,则Y,Z为非主属性, XY 又由于X→Z, ZY 因此F中存在非主属性对 侯选码的部分函数依赖。 将关系分解为: R1(W,X,Y),F1 = { WX→Y } R2(X,Z),F2 = { X→Z } 消除了非主属性对码的部分函数依赖。 F1和F2中的函数依赖都是非平凡的,并且决定因素 是候选码,所以上述关系模式是BCNF
练习13
现有如下关系模式: R(A #, B #, C , D , E) 其中: A # B #组 合为码 R 上存在的函数依赖有 F={(A #, B #)→ E , B #→ C , C → D} (1)该关系模式满足 2NF 吗 ? 为什么 ? (2)如果将关系模式 R 分解为如下两个关系模式: R1(A #, B #, E) R2(B #, C , D) 指出关系模式 R2 的码,并说明该关系模式最高 满足第几范式 ?( 在 1NF ~ BCNF 之内 )。 (3)将关系模式 R 分解到3NF范式 。
举例
关系模式R(U,F),其中 U={A,B,C,D}, F={A→B,B →C, C→D,D →A}, 判断ρ ={AB,BC,CD}是否具有无损 连接性?是否保持函数依赖性?
An Introduction to Database System
解:F={A→B , B→C , C→D , D →A}
6、设R(A,B,C,D),F={A→C,D →C, BD →A}, 证明ρ={AB,ACD,BCD}相对于F是有损连接?
A R1(AB) R2(ACD) R3(BCD) a1 a1
B a2 a2
C a3 a3 a3
D a4 a4
因为不存在一行有a1,a2,a3,a4,所以是有损连接。
7、设R(F,G,H,I,J),函数依赖集F={F→I,J
练习10
设有表R(车间名, 产品型号, 产品名, 单价) 若有如下事实:一个车间只能生产一种型号的产品, 同一型号的产品可以在多个车间同时生产;同一名称 的产品可有多种型号,某一型号的产品只能有一个名 称;某一型号的产品只有一种单价,不同型号的产品 可以有相同的单价。 试回答下列问题: (1)根据上述规定,写出关系模式R的基本函数依 赖; (2)找出关系模式R的候选码; (3)关系模式R最高已经达到第几范式?为什么? (4)如果R不属于3NF,请将R分解为3NF模式集。
5、设R(A,B,C,D,E),F={A→C,B
→D, C →D, DE→C,CE →A},求出R的 候选码; 判断ρ={AD,AB,BE, CDE,AE}是否具有无损连接性?
答:候选码是BE,因为(BE)F+ =BEDCA=U。 chase表略 因为存在一行有a1,a2,a3,a4,a5,所以具有无损连接 性。
1、因为E,C是L类属性, (EC)+=ECDBA=U,所以EC为候选码
2、Fm=F
3、ρ= {AD,ED,DB,BCD,DCA} 因为AD DCA,DB BCD 所以ρ= {ED,BCD,DCA} 判断ρ是否具有无损连接性?(画表格)
F={A→D,E →D,D →B, BC→D,DC →A} Ρ= {ED,BCD,DCA}
4、关系模式R(U,F),其中U={A,B,C,D,E}, F={A→D,E →D,D →B, BC→D,DC →A},求出R 的候选码; 判断ρ={AB,AE,CE,BCD,AC}是否具有无损连接性? 将R分解为3NF。 答:L类属性有CE,(CE)F+ =CEDBA=U,所以CE是唯一 候选码。 chase表略 因为存在一行有a1,a2,a3,a4,a5,所以是无损连接。
A ED B
a2
a1
ຫໍສະໝຸດ Baidu
C
D a4
E a5
BCD ACD
a2
a2
a3 a3
a4 a4
a1
因为不存在一行有a1, a2, a3, a4,a5所以不具有无损连接性 。 ρ= {ED,BCD,DCA} ∪{EC}={ED,BCD,BCA,EC}
练习:
1、关系模式R(U,F),其中U={A,B,C},F={A→B, C →B},判断ρ={AC,BC}是否具有无损连接性?是否保持函 数依赖性? 答:U1={AC},U2={BC},U1∩U2=C,U2-U1=B, C →B 存在,所以具有无损连接。 F(AC)=φ,F(BC)=C→B。 G=F(AC)∪ F(BC)≠F所以不保持 函数依赖。
Y
练习9
设关系模式 R(S#,C#,GRADE,TNAME,TADDR),其属性 分别表示学生学号、选修课程的编号、成绩、 任课教师姓名、任课教师地址等意义。如果 规定,每个学生每学一门课只有一个成绩; 每门课只有一个教师任教;每个教师只有一 个地址(此处不允许教师同名同姓)。 (1) 试写出关系模式R的候选码,主属性和 非主属性。 (2)试写出关系模式R基本的函数依赖。 (3)并把R分解成2NF模式集,同时说明理 由。 (4)在第2NF基础上把R分解成3NF模式集, 同时说明理由。
→G,GH→I,IH →F}, (1)求出R的候选码; (2)判断ρ={FG,FJ,JH,IGH,FH}是 否为无损连接分解? (3)将R分解为3NF,并且具有无损连接和 依赖保持性。
答: (1)候选码是HJ,因为(HJ)F+ =HJIGF=U。 (2) chase表略;因为存在一行有a1,a2,a3,a4,a5所以是无 损连接。 (3) Fm=F,ρ={FI,JI,IG,GHI,IHF} • 因为FI⊆IHF,IG⊆GHI所以ρ={JI,GHI,IHF}, • chase表略 • 当ρ={JI,GHI,IHF}不具有无损连接,所以ρ={FI,JI,GHI, IHF}∪HJ={ FI,JI,GHI,IHF,HJ }
•
R1(CSG) R2(CT) R3(THR) R4(HRC) R5(HSR) C a1 a1 a1 a1 a1 T a2 a2 a2 a2 a2 a3 a3 a3 a4 a4 a4 a5 a6 H R S a5 G a6
•
•
因为存在一行有a1,a2,a3,a4,a5,a6,所以是无损 连接。 因为(HS)F+ =HSRCGT=U,所以HS是候选码。
•
• •
2、关系模式R(U,F),其中U={A,B,C,D}, F={A→B,B →C, C→D,D →A},判断ρ={AB,BC, CD}是否具有无损连接性?是否保持函数依赖性? 答:
A R1(AB) R2(BC) R3(CD) a1 B a2 a2 C a3 a3 a3 D a4 a4 a4
记住几个结论(通常用于判断)
定理6.5 对于R<U,F>的一个分解 ρ={ R1<U1,F1>,R2<U2,F2>},如果U1∩U2→ U1- U2∈F+,或 U1∩U2→ U2 - U1 ∈F+, 则ρ具有无损连接性。
k i=1 定义6.19 若F+=(∪ Fi)+,则
ρ={ R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>} 保持函数依赖。
={AB,BC,CD}
A B C a1 a2 a3 a2 a3 a3 D a4 a4 a4
R1(AB) R2(BC) R3(CD)
因为存在一行有a1,a2,a3,a4,具有无损连接性。 F(AB)={ A→B }; F(BC)={ B→C }; F(CD)={ C→D}; 又因为∑Fi≠F,所以不保持函数依赖。
(1)有2个函数依赖: 学号系名
系名公寓楼号 (2)R的候选码是学号。 (3)R中不存在非主属性对主属性的部分函 数依赖,所以R属于第二范式,又由于R中存 在非主属性公寓楼号对主属性的传递函数依 赖,所以R不属于第三范式,因此R最高属于 第二范式。 (4)将R分解为: R1(学号,系名) R2(系名,公寓楼号)
(1)候选码为:S#+C# 主属性:S#,C# 非主属性:GRADE,TNAME,TADDR (2)函数依赖: F={(S#,C#)→GRADE,C#→TNAME,TNAME→TADDR} (3)在模式R中,TNAME不完全依赖于键(S#,C#),因此需进 行分解,可分解为下列两个关系。 SC={S#,C#,GRADE} C={C#,TNAME,TADDR} 分解后,SC中,GRADE完全依赖于侯选键(S#,C#),在C中,主 属性是C#,TNAME、TADDR均完全依赖于C#。 因此,该分 解符合2NF模式。 (4)按上述已分好的两个模式,SC中已满足“每个非主属性都不 传递于R的候选键”,已是3NF,而在C中, C#→TNAME, TNAME→TADDR,TADDR传递依赖于C#,因此还需分成两 个模式:CT(C#,TNAME), T(TNAME,TADD)。 分解后,总共有SC={S#,C#,GRADE},CT(C#,TNAME), T(TNAME,TADD)三个模式。 该分解符合3NF模式。
练习12
已知关系模式R(A,B,C)上成立的FD集为 F={A→B,C→B},设ρ={AB,AC},试分析分解ρ相对于F 是否具有无损连接和保持函数依赖的性质?说出简单 的理由。
(1)判断是否具有无损连接性 建立判断初始表: A B C a1a2b13a1b22a3 R1(A,B) R2(A,C) 由A→B修改初始表: A B C a1a2b13a1a2a3 R1(A,B) R2(A,C) 出现了一行a1,a2,a3,所以该分解具有无损连接性。 (2)F1={ A→B} F2={ } 令G=F1+F2 因为G+<>F+,所以该分解不具有保持函数 依赖的性质。
如何做到3NF的分解?
所谓3NF的分解,就是既保持函数依 赖,又具有无损连接性的分解。
方法:
确定最小函数依赖集; 找到满足函数依赖的分解ρ; 判断该分解是否具有无损连接性; 是,则结束,找到了ρ。 不是,则求其候选码; ρ = ρ∪{候选码}。
举例:
关系模式R(U,F),其中U={A,B,C,D,E}, F={A→D,E →D,D →B, BC→D,DC →A}, 1、求出R的候选码; 2、求最小函数依赖集; 3、将R分解为3NF。
(1)函数依赖: 车间名产品型号
品型号单价 (2)R的候选码是车间名。 (3)R中不存在非主属性对主属性的部分函 数依赖,所以R属于第二范式,又由于R中存 在非主属性产品名、单价对主属性的传递函 数依赖,所以R不属于第三范式,因此R最高 属于第二范式。 (4)将R分解为: R1(车间名,产品型号) R2(产品型号,产品型号,单价)
产品型号产品名 产
练习11
设有表R(学号,系名,公寓楼号)
若有如下事实:一个系有多名学生;一名学
生属于且仅属于一个系;同系的学生都住在 同一栋楼内,不同系的学生住在不同的公寓 楼。 试回答下列问题: (1)根据上述规定,写出关系模式R的基本 函数依赖; (2)找出关系模式R的候选码; (3)关系模式R最高已经达到第几范式?为 什么 (4)如果R不属于3NF,请将R分解为3NF 模式集
•
• •
因为存在一行有a1,a2,a3,a4,是无损连接。 F(AB)={ A→B };F(BC)={ B→C };F(CD)={ C→D}; 又因为∑Fi≠F,所以不保持函数依赖。
3、关系模式R(U,F),其中U={C,T,H,R,S,G}, F={CS→G,C →T,TH →R,HR →C,HS →R}将其保 持依赖分解为3NF。判断其无损连接性?将其转换为既具 有无损连接性又保持函数依赖的分解。 ρ={CSG,CT,THR,HRC,HSR}
→I,I
练习8
设有关系R(W,X,Y,Z), F = { X→Z,WX→Y }。 试求下列问题: (1)关系R属于第几范式?(2)如果关系R不属于 BCNF,请将关系R逐步分解为BCNF。 要求:写出达到每一级范式的分解过程,并指明消除 什么类型的函数依赖。
解:R是1NF。 W 侯选码为WX,则Y,Z为非主属性, XY 又由于X→Z, ZY 因此F中存在非主属性对 侯选码的部分函数依赖。 将关系分解为: R1(W,X,Y),F1 = { WX→Y } R2(X,Z),F2 = { X→Z } 消除了非主属性对码的部分函数依赖。 F1和F2中的函数依赖都是非平凡的,并且决定因素 是候选码,所以上述关系模式是BCNF
练习13
现有如下关系模式: R(A #, B #, C , D , E) 其中: A # B #组 合为码 R 上存在的函数依赖有 F={(A #, B #)→ E , B #→ C , C → D} (1)该关系模式满足 2NF 吗 ? 为什么 ? (2)如果将关系模式 R 分解为如下两个关系模式: R1(A #, B #, E) R2(B #, C , D) 指出关系模式 R2 的码,并说明该关系模式最高 满足第几范式 ?( 在 1NF ~ BCNF 之内 )。 (3)将关系模式 R 分解到3NF范式 。
举例
关系模式R(U,F),其中 U={A,B,C,D}, F={A→B,B →C, C→D,D →A}, 判断ρ ={AB,BC,CD}是否具有无损 连接性?是否保持函数依赖性?
An Introduction to Database System
解:F={A→B , B→C , C→D , D →A}
6、设R(A,B,C,D),F={A→C,D →C, BD →A}, 证明ρ={AB,ACD,BCD}相对于F是有损连接?
A R1(AB) R2(ACD) R3(BCD) a1 a1
B a2 a2
C a3 a3 a3
D a4 a4
因为不存在一行有a1,a2,a3,a4,所以是有损连接。
7、设R(F,G,H,I,J),函数依赖集F={F→I,J
练习10
设有表R(车间名, 产品型号, 产品名, 单价) 若有如下事实:一个车间只能生产一种型号的产品, 同一型号的产品可以在多个车间同时生产;同一名称 的产品可有多种型号,某一型号的产品只能有一个名 称;某一型号的产品只有一种单价,不同型号的产品 可以有相同的单价。 试回答下列问题: (1)根据上述规定,写出关系模式R的基本函数依 赖; (2)找出关系模式R的候选码; (3)关系模式R最高已经达到第几范式?为什么? (4)如果R不属于3NF,请将R分解为3NF模式集。
5、设R(A,B,C,D,E),F={A→C,B
→D, C →D, DE→C,CE →A},求出R的 候选码; 判断ρ={AD,AB,BE, CDE,AE}是否具有无损连接性?
答:候选码是BE,因为(BE)F+ =BEDCA=U。 chase表略 因为存在一行有a1,a2,a3,a4,a5,所以具有无损连接 性。
1、因为E,C是L类属性, (EC)+=ECDBA=U,所以EC为候选码
2、Fm=F
3、ρ= {AD,ED,DB,BCD,DCA} 因为AD DCA,DB BCD 所以ρ= {ED,BCD,DCA} 判断ρ是否具有无损连接性?(画表格)
F={A→D,E →D,D →B, BC→D,DC →A} Ρ= {ED,BCD,DCA}
4、关系模式R(U,F),其中U={A,B,C,D,E}, F={A→D,E →D,D →B, BC→D,DC →A},求出R 的候选码; 判断ρ={AB,AE,CE,BCD,AC}是否具有无损连接性? 将R分解为3NF。 答:L类属性有CE,(CE)F+ =CEDBA=U,所以CE是唯一 候选码。 chase表略 因为存在一行有a1,a2,a3,a4,a5,所以是无损连接。
A ED B
a2
a1
ຫໍສະໝຸດ Baidu
C
D a4
E a5
BCD ACD
a2
a2
a3 a3
a4 a4
a1
因为不存在一行有a1, a2, a3, a4,a5所以不具有无损连接性 。 ρ= {ED,BCD,DCA} ∪{EC}={ED,BCD,BCA,EC}
练习:
1、关系模式R(U,F),其中U={A,B,C},F={A→B, C →B},判断ρ={AC,BC}是否具有无损连接性?是否保持函 数依赖性? 答:U1={AC},U2={BC},U1∩U2=C,U2-U1=B, C →B 存在,所以具有无损连接。 F(AC)=φ,F(BC)=C→B。 G=F(AC)∪ F(BC)≠F所以不保持 函数依赖。
Y
练习9
设关系模式 R(S#,C#,GRADE,TNAME,TADDR),其属性 分别表示学生学号、选修课程的编号、成绩、 任课教师姓名、任课教师地址等意义。如果 规定,每个学生每学一门课只有一个成绩; 每门课只有一个教师任教;每个教师只有一 个地址(此处不允许教师同名同姓)。 (1) 试写出关系模式R的候选码,主属性和 非主属性。 (2)试写出关系模式R基本的函数依赖。 (3)并把R分解成2NF模式集,同时说明理 由。 (4)在第2NF基础上把R分解成3NF模式集, 同时说明理由。
→G,GH→I,IH →F}, (1)求出R的候选码; (2)判断ρ={FG,FJ,JH,IGH,FH}是 否为无损连接分解? (3)将R分解为3NF,并且具有无损连接和 依赖保持性。
答: (1)候选码是HJ,因为(HJ)F+ =HJIGF=U。 (2) chase表略;因为存在一行有a1,a2,a3,a4,a5所以是无 损连接。 (3) Fm=F,ρ={FI,JI,IG,GHI,IHF} • 因为FI⊆IHF,IG⊆GHI所以ρ={JI,GHI,IHF}, • chase表略 • 当ρ={JI,GHI,IHF}不具有无损连接,所以ρ={FI,JI,GHI, IHF}∪HJ={ FI,JI,GHI,IHF,HJ }
•
R1(CSG) R2(CT) R3(THR) R4(HRC) R5(HSR) C a1 a1 a1 a1 a1 T a2 a2 a2 a2 a2 a3 a3 a3 a4 a4 a4 a5 a6 H R S a5 G a6
•
•
因为存在一行有a1,a2,a3,a4,a5,a6,所以是无损 连接。 因为(HS)F+ =HSRCGT=U,所以HS是候选码。
•
• •
2、关系模式R(U,F),其中U={A,B,C,D}, F={A→B,B →C, C→D,D →A},判断ρ={AB,BC, CD}是否具有无损连接性?是否保持函数依赖性? 答:
A R1(AB) R2(BC) R3(CD) a1 B a2 a2 C a3 a3 a3 D a4 a4 a4
记住几个结论(通常用于判断)
定理6.5 对于R<U,F>的一个分解 ρ={ R1<U1,F1>,R2<U2,F2>},如果U1∩U2→ U1- U2∈F+,或 U1∩U2→ U2 - U1 ∈F+, 则ρ具有无损连接性。
k i=1 定义6.19 若F+=(∪ Fi)+,则
ρ={ R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>} 保持函数依赖。