Search code examples
database-normalizationbcnf

Reduced to BCNF


How I reduced to BCNF for this question, Could you please help me have a check,

R(A, B, C, D, E)

FDs: A --> B, D --> E, C--> D

Reduced to BCNF:

R1(A,B), R2(D, E), R3(C,D)

I am not sure about my work. Thanks


Solution

  • I think you've lost information that adding R4(A,C) would preserve.

    The original relation records that an A value, a B value, a C value, a D value and an E value are all associated with each other. The FDs explain how some of the values can be determined by (from) others. For example, if you know the D value, you know what the E value must be.

    Your revised schema preserves all the information except that a specific A value is associated with a specific C value. Adding R4(A,C) preserves that information.