This is an individual assignment. **All work must be your own. **
You should not look at any other student's work (in whole or in part, on paper
or on screen), nor allow anyone else to look at yours, during the course of this assignment.

You may email a plain text, MS Word or PDF document to the instructor with subject line "cs4250,hw3" (by midnight), or turn in a typed hardcopy during class time on the due date.

Consider a relation R with attributes ABCDE. You are given the following dependencies B -> C, D -> C, AE -> D.

- Attribute closure of A?
- Attribute closure of C?
- Attribute closure of D?
- Attribute closure of AD?
- Attribute closure of AE?
- Identify which, if any, of the above are candidate keys.

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

- List all (candidate) keys for R.
- Is R in 3NF? Why or why not?
- Is R in BCNF? Why or why not?

- List all (candidate) keys for R.
Consider a relation R with attributes ABCDE. You are given the following dependencies CD -> A, CD -> B, CD -> E, A -> D.

- List all (candidate) keys for R.
- Is R in 3NF? Why or why not?
- Is R in BCNF? Why or why not?

- List all (candidate) keys for R.
Consider a relation R with attributes ABCDE. You are given the following dependencies AB -> C, CD -> B, A -> D.

- List all (candidate) keys for R.
- Is R in 3NF? Why or why not?
- Is R in BCNF? Why or why not?

- List all (candidate) keys for R.
- Suppose that we have the following three tuples in a legal
instance of a relation schema S with attributes primary_key, A, B and C:

*attribute names*primary_key A B C *tuple 1*1 4 1 4 *tuple 2*2 8 1 4 *tuple 3*3 6 2 5

- For each of the following dependencies, can you infer whether or
*not*it holds over schema S? Why or why not?- A -> C
- C -> A

- A -> C
- Can you identify any functional dependencies that hold over S? If so, please name one.

- For each of the following dependencies, can you infer whether or
- 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.
- A -> B, C -> D; decompose into AB and CD.
- Candidate keys:
- Analysis:
- A -> B, B -> C, C -> D; decompose into ABC and BCD.
- Candidate keys:
- Analysis:
- C -> AD, B -> D; decompose into ACD and BD.
- Candidate keys:
- Analysis:
- C -> BD, B -> A; decompose into BCD and AB.
- Candidate keys:
- Analysis:

- Suppose you are given a relation R with attributes ABCDEF. You are given
functional dependencies F -> D, BC -> F, and D -> C. Using the decomposition techniques
described in class, decompose this relation into relations in "good" normal forms.
For each of the new relations you create, identify the normal form it is in.
If you choose not to decompose the relations into the best normal form we discussed, explain why you made that choice. If there are any interesting issues or potential problems with your decomposition, explain what they are.