设有关系模式
R
(
A
,
B
,
C
,
D
,
E
,
G
)上的函数依赖集为:
F={ A
→
B
,
B
→
C
,
AD
→
G
,
D
→
E }
。求解:
31
.求关系模式
R
的所有侯选键。
32
.分别求属性集
G
、
AD
、
CD
、
BC
的闭包。
33
.将关系模式
R
保持依赖地且无损地分解成
3NF
,要求写出分解过
程。
34
.将关系模式
R
无损地分解成
BCNF
,要求写出分解过程。
35
.说明分解
ρ
={R1
,
R2}
,
R1
(
ABC
)、
R2
(
ADEG
)
的范式级别并说
明理由
31.
解
:
求出侯选键
AD
。(
2
分)
首先在
F
中函数依赖右边不出现的属性必在侯选键中
,
即
AD
(1
分
)
;由于
(AD)+=ABCDEG,
即
AD
能函数决定所有的属性
,
所以
侯选键只有一个
AD
(
1
分)
。
AD+=AD BEG C
32. G+=G(1
分
)
;
(AD)+=ABCDEG(1
分
)
;
(CD)+= CDE(1
分
)
;
(BC)+=BC(1
分
)
33.
解:
F={ A
→
B
,
B
→
C
,
AD
→
G
,
D
→
E }
F
是最小依赖集,
所有属性在
F
中出现
,将
F
中是每个函数依赖组成
一个关系模式得保持函数依赖的分解:
{AB
,
BC
,
ADG
,
DE} (2
分
)
;
并上一个侯选键
{AD}
得无损分解:
{AB
,
BC
,
ADG
,
DE}
∪
{AD}={ AB
,
BC
,
ADG
,
DE } (2
分
)
F={
A
→
B
,
B
→
C
,
AD
→
G
,
D
→
E
}
34.
解:根据转换为
BCNF
的无损连接分解算法
6.5
1
)由于候选键为
AD
,
F
中存在不符合
BCNF
要求的函数依赖,所以
R
不是
BCNF
,
选
A
→
B
分解为:
R1=A
B
,
R2=
ACDEG
;
(1
分
)
R1
上保持的函数依赖集为
A
→
B
,键为
A
,所以是
BCNF
;
R2
上保持的函数依赖集为
A
→
C
,
AD
→
G
,
D
→
E
,键为
AD
,所以不是
BCNF
;
(1
分
)
选
A
→
C
进一步分解为:
R21=A
C
,
R22=
ADEG
;
(1
分
)
R21
上保持的函数依赖为
A
→
C
,键为
A
,所以是
BCNF
;
R22
上保持的函数依赖为
AD
→
G
,
D
→
E
键为
AD
,所以不是
BCNF
;
选
D
→
E
进一步分解为:
R221=D
E
,
R222=ADG
;
(1
分
)
R221
上保持的函数依赖为
D
→
E
,键为
D
,所以是
BCNF
;
R222
上保持的函数依赖为
AD
→
G
,键为
AD
,所以是
BCNF
;
最后得保持无损连接特征的分解:
{R1
,
R21
,
R221
,
R222}
或表示为
{AB
,
AC
,
DE
,
ADG}(1
分
)
注:由于选择不符合
BCNF
要求的函数依赖有多个,因此选择次序可
有不同,最后的结果也不同,原则上按上述评分标准分步给分。
35.
答:
R1
是
2NF (1
分
)
,
R2
是
1NF
;
(1
分
)