请给出详细的解答过程,无论多长都行但是要准确
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/28 06:56:19
请给出详细的解答过程,无论多长都行但是要准确
设关系模式R为(BOISQD),F={S→D,I→S,IS→Q,B→Q}。
求:①、找出R的主码;
②、把R分解为BCNF且具有无损连接性和函数依赖性。
设关系模式R为(BOISQD),F={S→D,I→S,IS→Q,B→Q}。
求:①、找出R的主码;
②、把R分解为BCNF且具有无损连接性和函数依赖性。
![请给出详细的解答过程,无论多长都行但是要准确](/uploads/image/z/5091977-65-7.jpg?t=%E8%AF%B7%E7%BB%99%E5%87%BA%E8%AF%A6%E7%BB%86%E7%9A%84%E8%A7%A3%E7%AD%94%E8%BF%87%E7%A8%8B%EF%BC%8C%E6%97%A0%E8%AE%BA%E5%A4%9A%E9%95%BF%E9%83%BD%E8%A1%8C%E4%BD%86%E6%98%AF%E8%A6%81%E5%87%86%E7%A1%AE)
R={U,F} U=(BOISQD) F={s-d,i-s,is-q,b-q}
关系中l类(只出现在左边)L=(IB)
关系中R类(只出现在右边)R=(DQ)
关系中LR类(两边都有)LR=(S)
关系中NLR类(两边都没有)NLR=(O)
NLR类O一定是侯选码的一部分。
(IB)的属性闭包为(IBDQS)=U-NLR
所以R的侯选码为IBO
F的最小函数依赖集为={s-d,i-s,is-q,b-q}
S-D不满足BCNF把R分解为:
R0{(BOISQ) {I-S,is-Q,B-Q}
R1{(SD) {S-D}}
is-q不满足BCNF继续分解:
R0{(BOIS) {i-s}}
R1{(SD) {S-D}}
R2{(ibq) {i-q,b-Q}}
{R0(BOIS),R1(SD),R2(IBQ)}为BCNF
检查
B O I S Q D
BOIS a1 a2 a3 a4 b15 b16
SD b22 b23 b24 a4 b25 a6
IBQ a1 b32 a3 b34 a5 b36
根据i-s
B O I S Q D
BOIS a1 a2 a3 a4 b15 b16
SD b22 b23 b24 a4 b25 a6
IBQ a1 b32 a3 a4 a5 b36
根据s-d
B O I S Q D
BOIS a1 a2 a3 a4 b15 a6
SD b22 b23 b24 a4 b25 a6
IBQ a1 b32 a3 a4 a5 a6
根据ib-q
B O I S Q D
BOIS a1 a2 a3 a4 a5 a6
SD b22 b23 b24 a4 b25 a6
IBQ a1 b32 a3 a4 a5 a6
第一行全为A所以{R0,R1,R2}为R的无损分解。
关系中l类(只出现在左边)L=(IB)
关系中R类(只出现在右边)R=(DQ)
关系中LR类(两边都有)LR=(S)
关系中NLR类(两边都没有)NLR=(O)
NLR类O一定是侯选码的一部分。
(IB)的属性闭包为(IBDQS)=U-NLR
所以R的侯选码为IBO
F的最小函数依赖集为={s-d,i-s,is-q,b-q}
S-D不满足BCNF把R分解为:
R0{(BOISQ) {I-S,is-Q,B-Q}
R1{(SD) {S-D}}
is-q不满足BCNF继续分解:
R0{(BOIS) {i-s}}
R1{(SD) {S-D}}
R2{(ibq) {i-q,b-Q}}
{R0(BOIS),R1(SD),R2(IBQ)}为BCNF
检查
B O I S Q D
BOIS a1 a2 a3 a4 b15 b16
SD b22 b23 b24 a4 b25 a6
IBQ a1 b32 a3 b34 a5 b36
根据i-s
B O I S Q D
BOIS a1 a2 a3 a4 b15 b16
SD b22 b23 b24 a4 b25 a6
IBQ a1 b32 a3 a4 a5 b36
根据s-d
B O I S Q D
BOIS a1 a2 a3 a4 b15 a6
SD b22 b23 b24 a4 b25 a6
IBQ a1 b32 a3 a4 a5 a6
根据ib-q
B O I S Q D
BOIS a1 a2 a3 a4 a5 a6
SD b22 b23 b24 a4 b25 a6
IBQ a1 b32 a3 a4 a5 a6
第一行全为A所以{R0,R1,R2}为R的无损分解。