# Solutions for Exercise no. 7

A:
There are two minimal covers for F.

 AB ® C C ® A BC ® D  CD ® B  D ® E  D ® G  BE ® C  CG ® D  CE ® G AB ® C C ® A BC ® D D ® E D ® G BE ® C CG ® B CE ® G (a) (b)

B:
The definition of functional dependencies is a -> b holds on R if in any legal relation r(R), for all pairs of tuples t1and t2 in r such that t1[a] = t2[a], it is also the case t1[b] = t2[b].

Reflexivity rule: if a is a set of attributes, and b is a subset or equal to a, then a -> b.

Assume there exists t1and t2 such that t1[a] = t2[a],
t1[b] = t2[b],    since b is a subset or equal to a
a -> b,           definition of FD
Augmentation rule: if a -> b, and c is a set of attributes, then ac -> bc.
Assume there exists t1and t2 such that t1[ac] = t2[ac]
t1[c] = t2[c]        since c is a subset or equal to ac
t1[a] = t2[a]        since a is a subset or equal to ac
t1[b] = t2[b]        definition of a -> b
t1[bc] = t2[bc]    definition of bc = b UNION c
ac -> bc            definition of FD
Transitive rule: a -> c and b -> c, then a -> c.

Assume there exists t1and t2 such that t1[a] = t2[a]
t1[b] = t2[b]        definition of a -> b
t1[c] = t2[c]        definition of b -> c
a -> c                definition of FD

C:
See the SQL statements here.

Best regards,
Kristian Torp