Click here to Skip to main content
15,886,258 members
Please Sign up or sign in to vote.
2.33/5 (2 votes)
Here's the bare minimum for R(A,B,C,D,E,G,H):
{A->E,D->H,D->G,E->C,G->B,G->C,H->D}

Candidate identifiers:
{AH,AD}

What I have tried:

According to the BCNF definition given here, none of the traits on the left side are SK or CK. As a result, it is not in BCNF. Is it safe to assume that all of the FDs are breaking the BCNF? If so, as the method suggests, take the FD that violates BCNF, for example: X->Y, and perform the R1(XY) and R2(XY) procedures (R-Y)
Apply I need to do that all across the FDs in our case? If I continue this, I will eventually obtain
R1(AE), R2(EC), R3(GB), R4(DH), R5(DG) and R6(AD)

But G->C and H->D are still missing, and R6 isn't in the FD from the start. So that doesn't work.
Posted
Updated 28-Jul-22 22:47pm
v3
Comments
0x01AA 20-Jun-22 10:04am    
Sorry I could not find a english article. From here Normalisierung (Datenbank) – Wikipedia[^] translated to English:

Although the transfer to the BCNF is always possible without loss, it does not always preserve the dependency. The Boyce-Codd normal form was originally intended as a simplification of 3NF, but led to a new normal form that tightens it: A relation is automatically free of transitive dependencies if all determinants are key candidates.

1 solution

You should go back to Scaler and ask the person who posted that article.
 
Share this answer
 
Comments
0x01AA 20-Jun-22 13:25pm    
Sorry, please don't care about that comment. Only to check whether I get informed about it ;)
Richard MacCutchan 21-Jun-22 3:42am    
Ignore this also, as I need to check.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900