A Minimum Set of Functional Dependencies


Question
List a minimal set of functional dependencies satisfied by the table T.

Note: FDs are determined from understanding the data items and rules of the enterprise. This is just for practice.
T
A B C D
a1 b1 c1 d1
a1 b1 c2 d2
a2 b1 c1 d3
a2 b1 c3 d4

Answer
Take the following steps to find a minimal set of FDs:
  1. All FDs with a single attribute on the left:

      (1) A→B (1) B↛A (3) C↛A (2) D→A
      (3) A↛C (1) B↛C (1) C→B (1) D→B
      (2) A↛D (1) B↛D (2) C↛D (2) D→C

    By the Union
      (a) A→B
      (b) C→B
      (c) D → A B C

    where
    1. All values of the B attribute are the same,
    2. The D values are all different, and
    3. A↛C (Rows 1 and 2) and C↛A (Rows 1 and 3).

  2. All FDs with a pair of attributes on the left:

    1. Any pair containing D determines all other attributes,
    2. The attribute B, combined with any other attribute P, still functionally determines only those attributes determined by P, and
    3. The attributes “A C” have distinct values on each row, so
         A C → A B C D ⇒ A C → D
  3. All FDs with any set of three or four attributes on the left do not contribute any new FD.

  4. The complete set of FDs implicit in the table T is

    (a) A → B, (b) C → B, (c) D → A B C, (d) A C → D



      In the classroom the teacher is asking a student to do something.    
      Teacher: Tell me a sentence that starts with “I.”    
      Student: I is the ...    
      Teacher: Stop! Never put “is” after “I.”   
      Student: OK. I am the ninth letter of the alphabt.