CS 4250: Database Management Systems

Due Monday, 3/30/2015, at 4 pm

This is a GROUP assignment. Work in groups of 3. (Groups of 2 or 4 are acceptable, but 3 is ideal. Enough people for a variety of viewpoints, not so many that anyone will feel left out of discussions.)

You may email a plain text, MS Word or PDF document to the instructor with subject line "cs4250,mini1", or turn in a typed hardcopy. Put the names of all group members on what you submit.

1. Consider a relation R with attributes ABCDE. You are given the following dependencies E -> A, CD -> B, A -> C.

2. Attribute closure of DE?

3. Identify which, if any, of the above are candidate keys.

2. Consider a relation R with attributes ABCD. You are given the following dependencies A -> D, AB -> C, C -> A.

1. List all (candidate) keys for R.

2. Is R in 3NF? Why or why not?

3. Is R in BCNF? Why or why not?

3. Suppose you are given a relation R(A, B, C, D). For each of the following sets of FDs, assume they are the only dependencies that hold for R. Do the following: a) identify the candidate key(s) for R. b) State whether or not the proposed decomposition of R into smaller relations is a good decomposition and briefly explain why or why not.

1. A -> B, C -> D; decompose into AD and BCD.
1. Candidate keys:
2. Analysis:

2. AB -> C, B -> D; decompose into ABC and CD.
1. Candidate keys:
2. Analysis:

4. What is one question about functional dependencies and / or normal forms that your group came up with while working on this assignment?

5. Extra Credit: Consider a relation R with attributes ABCDE. You are given the following dependencies A -> C, C -> E, A -> D, D -> C.

1. List all (candidate) keys for R.

2. Is R in 3NF? Why or why not?

3. Is R in BCNF? Why or why not?