DBMS Module 2.3 Functional Dependency
DBMS Module 2.3 Functional Dependency
Functional Dependency
Sol: B→C
A→B
AC → D
R1 R2
Model Name Category Price Category
Functional dependencies:
After Natural Join, we get two extra tuples. Thus, there is loss of information.
R(A, B, C)
Decompose
R1(A, B) R2(A, C)
Recover
R’(A, B, C)
Thus, R’ = R
1. Reflexivity: If X ⊇ Y, then X → Y
2. Augmentation: If X → Y, then XZ → YZ for any Z
3. Transitivity: If X → Y and Y → Z, then
X→Z
4. Union: If X → Y and X → Z, then X → YZ
5. Decomposition: If X → YZ, then X → Y and
X→Z
FD3
FD3
FD1
FD2
• R(A B C D)
• FD1: A B
• FD2: B C
• FD3: C D
• Decomposition:
R1(A B C) R2(C D)
R1( A B C )
FD1
FD2
R2( C D )
FD3
FD1 FD3
R1 ( A B C ) R2 ( C D )
FD2
• R(A B C D)
• FD1: A B
• FD2: B C
• FD3: C D
• Decomposition:
R1(A C D) R2(B C)
R1( A C D )
FD3
R2( B C )
FD2
FD3 FD2
R1 ( A C D ) R2 ( B C )
• R(A B C D E)
• FD1: A B
• FD2: BC D
• Decomposition:
R1(A C E) R2(B C D) R3(A B)
R1( A C E )
No Dependencies
R2( B C D )
FD2
R3( A B )
FD1
FD2
R1( A C E ) R2( B C D )
R3 ( A B )
FD1
• FD1: D A, B
• FD2: C E, F
• Decomposition:
R1( A, C, D )
R2( A, D, B )
R3( D, E, F )
R4( C, E, F )
R2 ( A D B)
FD1
R3 ( D E F)
FD2
R4 ( C E F)
DBMS 5th SEM ETC & EEE