CS 4250: Database Management Systems

Spring 2015 - Mini-Homework 1

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.

    1. Attribute closure of AD?

    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?