You are on page 1of 5

Armstrong's inference rules: IR1. (Reflexive) If Y subset-of X, then X -> Y IR2. (Augmentation) If X -> Y, then XZ -> YZ IR3.

(Transitive) If X -> Y and Y -> Z, then X -> Z Prove or disprove the following inference rules for functional dependencies. A proof can be made either by a proof argument or by using inference rules lRl through IR3.A disproof should be performed by demonstrating a relation instance that satisfies the conditions and functional dependencies in the left-hand side of the inference rule but does not satisfy the dependencies in the right-hand side.

a. {W -> Y, X -> Z} {WX -> Y}


Proof of a 1. W -> Y (given). 2. WX -> YX (using IR2on 1 by augmenting with X) 3. YX -> Y (using IR1 and knowing that Y subset of YX). 4. WX -> Y (using lR3 on 2 and 3).

c. {X -> Y, X -> W, WY -> Z} {X -> Z}


Proof of c 1. X -> Y (given). 2. X -> W (given). 3. X -> XY (using IR2on 1 by augmenting with X; notice that XX = X). 4. XY-> WY (using IR2on 2 by augmenting with Y). 5. X -> WY (using lR3 on 3 and 4). 6. WY -> Z (given). 7. X -> Z (using lR3 on 5 and 6).

h. {XY -> Z, Z -> X} {Z -> Y}


X Y Z

Disprove of h Consider the following relation instance: X a a b b Y m n m n Z c c d d

The previous relation instance satisfies the functional dependencies in the left-hand side but does not satisfy the dependencies in the right-hand side. Then, the inference rule is disproved.

Consider the following two sets of functional dependencies: F = {A -> C, AC -> D, E -> AD, E -> H} and G = {A -> CD, E -> AH}. Check whether they are equivalent.

Solution
F equivalent to G if F covers G and G covers F 1. 2. 3. 4. 5. A -> C(given). AC -> D (given). AA -> D (using lR6 on 1 and 2). A -> D (from 3 where AA=A) A -> CD (using lR5 on 1 and 4).

6. E -> AD (given). 7. E -> A (using lR4 on 6). 8. E -> H (given). 9. E -> AH (using lR5 on 7 and 8). Then we deduce {A -> C, AC -> D, E -> AD, E -> H} {A -> CD, E -> AH} or F covers G . 1. A -> CD (given). 2. A -> C (using lR4 on 1). 3. A -> D (using lR4 on 1). 4. AC -> DC (using IR2on 3 by augmenting with C) 5. AC -> D (using lR4 on 4). 6. E -> AH (given). 7. E -> A (using lR4 on 6). 8. E -> D (using IR3 on 7 and 3) 9. E -> AD (using IR5 on 7 and 8) 10. E -> H (using lR4 on 6). Then we deduce {A -> CD, E -> AH}{A -> C, AC -> D, E -> AD, E -> H} or G covers F. F and G are equivalent.

Consider the relation schema EMP_DEPT

and the following set G of functional dependencies on EMP_DEPT: G = {SSN -> {ENAME, BDATE, ADDRESS, DNUMBER}, DNUMBER -> {DNAME, DMGRSSN}, { SSN, ENAME }-> DNAME } Is the set of functional dependencies G minimal? If not, try to find a minimal set of functional dependencies that is equivalent to G. Solution G is not a minimal set of functional dependencies. {SSN -> {ENAME, BDATE, ADDRESS, DNUMBER}, DNUMBER -> {DNAME, DMGRSSN}, { SSN, ENAME }-> DNAME} {SSN -> ENAME, SSN -> BDATE, SSN -> ADDRESS, SSN -> DNUMBER, DNUMBER -> DNAME, DNUMBER -> DMGRSSN, { SSN, ENAME}-> DNAME } {SSN -> ENAME, SSN -> BDATE, SSN -> ADDRESS, SSN -> DNUMBER, DNUMBER -> DNAME, DNUMBER -> DMGRSSN, SSN-> DNAME } {SSN -> ENAME, SSN -> BDATE, SSN -> ADDRESS, SSN -> DNUMBER, DNUMBER -> DNAME,
DNUMBER -> DMGRSSN}

Consider the universal relation R = {A, B, C, D, E, F, G, H, I,J} and the set of functional dependencies F = {{A, B} -> {C}, {A} -> {D, E}, {B} -> {F}, {F} -> {G, H},{D}-> {I, J}}. What is the key for R? Decompose R into 2NF and then 3NF relations.
A B C D E F G H I J

The key for R: {A,B} 2NF:


A B C

3NF:
A B C

You might also like