R(ABCD)
a) A --> B B --> CD
Candidate key= A
So,
A --> B In BCNF (Bec A is the superkey)
B --> CD (Violation of BCNF)
Therefore not in BCNF. So Decompose into BCNF
B -->CD
Closure of B = BCD
So R1 = BCD (In BCNF)
R2= AB (In BCNF)
Now Check lossless or Lossy join
R1 ∩ R2 = B (B is SK in R1)
So lossless
Now Check dependency preserving
A --> B Dependency preserved in R2
B --> CD Dependency preserved in R1
So dependency preserved
------------------------------------------------------
b) A --> B
B --> C
C --> D
CK= A
So,
A --> B (In BCNF) bec A is SK
B --> C Not in BCNF
C --> D Not in BCNF
So decompose into BCNF
B --> C
Closure of B = BCD
R1= BCD ( Again not in BCNF)
R2= AB (In BCNF)
Take violation and decompose into BCNF
R1= BCD
B---> C C---> D
CK= B
So,
B ---> C (In BCNF)
C---> D (Not in BCNF)
Take violation and decompose into BCNF
Closure of C = CD
R1= CD (In BCNF)
R2= BC (In BCNF)
So Decomposition BCNF
R1= (AB) R2=(BC) R3=(CD)
Now Check lossless or Lossy join
R1 ∩ R2 = B (B is SK in R1) R2 ∩ R3 = C (C is SK in R3)
So lossless
Now Check dependency preserving
A --> B Dependency preserved in R1
B --> C Dependency preserved in R2
C --> D Dependency preserved in R3
So dependency preserved
-----------------------------------------------------
d) A--> BCD
CK= A
So, A--> BCD (In BCNF) A is the superkey
Here no BCNF Decomposition Required
so here it is already in BCNF, Lossless and dependency preserving.
-------------------------------------------------
c) AB ---> C, C---> AD
CK= AB, BC
AB ---> C (In BCNF ) (Bec AB is the superkey)
C---> AD (Violation of BCNF)
Therefore not in BCNF. So Decompose into BCNF
Take a Violation
C ---> AD
Closure of C= CAD
R1= CAD (In BCNF)
R2= BC (In BCNF)
Now Check lossless or Lossy join
R1 ∩ R2 = C (B is SK in R2)
So lossless
Now Check dependency preserving
AB --> C Dependency Not preserved
C --> AD Dependency preserved in R1
So dependency not preserved
so C is the Correct answer
------------------------------------------------------------
BCNF Decomposition Algo:
if R is not in BCNF:
Take a violation X---> A (X is not SK)
Decompose R in R1, R2:
R1(Closure of X) R2(R - (Closure of X )+ X)