Consider a relation R with attributes ABCDEF. You are given the following dependencies F -> D, AF -> E, B -> C.
- Attribute closure of C?
- Attribute closure of AF?
- Attribute closure of BF?
- Attribute closure of CF?
- Attribute closure of ABCDEF?
- Identify which, if any, of the above are candidate keys.
Consider a relation R with attributes ABCDE. You are given the following dependencies CD -> A, CD -> B, B -> CD, CD -> E.
- List all (candidate) keys for R.
- Is R in 3NF? Why or why not?
- Is R in BCNF? Why or why not?
Consider a relation R with attributes ABCDE. You are given the following dependencies BD -> A, BD -> C, BD -> E, C -> D.
- List all (candidate) keys for R.
- Is R in 3NF? Why or why not?
- Is R in BCNF? Why or why not?
Consider a relation R with attributes ABCDE. You are given the following dependencies A -> E, A -> D, A -> C, A -> B, E -> D.
- List all (candidate) keys for R.
- Is R in 3NF? Why or why not?
- Is R in BCNF? Why or why not?
- 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. (The primary_key field contains the primary key of the table. The 'attribute names' column is not part of the relation; it is only there to name rows and columns so your answers can clearly discuss the rows and columns.)
attribute names primary_key A B C tuple 1 1 m h g tuple 2 2 p k b tuple 3 3 m j c
- For each of the following dependencies, can you infer whether or not it
holds over schema S? Why or why not?
- A -> B
- C -> B
- Can you identify any functional dependencies that hold over fields A, B and / or C? If so, please name one. (N.B. primary_key is not on the list of A, B and / or C. FDs involving the primary_key field should not be in your answer.)
- For each of the following dependencies, can you infer whether or not it
holds over schema S? Why or why not?
- 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.
- C -> A, D -> B; decompose into AC and BD.
- Candidate keys:
- Analysis:
- D -> A, B -> ACD; decompose into AD and BCD.
- Candidate keys:
- Analysis:
- A -> BC, C -> BD; decompose into ABC and BD.
- Candidate keys:
- Analysis:
- A -> C, B -> A, D -> B; decompose into ACD and BD.
- Candidate keys:
- Analysis:
- Suppose you are given a relation R with attributes ABCDEF. You are given functional dependencies EF -> D, B -> C, D -> F, and EF -> B. 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. Clearly identify which is your "final" set of relations. I appreciate it when students show their work, but I need to know which relations are showing your intermediate steps, and which relations are your final choices. 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.