请给出详细的解答过程,无论多长都行但是要准确

1个回答

  • 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的无损分解。