CS 235: Assignment 2

Due in class on Tuesday, October 18, 2005


DatingBase: Part 2

The second part of the DatingBase project is to transform the E/R diagram you created to a relational schema.
  1. Please attach a copy of your E/R diagram from part one. If you would like to make changes to your original E/R diagram at this point (due to staff feedback or any other reason), you may do so. The new E/R design will not be graded but will be used as a basis for grading part (b).

  2. Using the method for translating an E/R diagram to relations, produce a set of relations for your database design, underlining key attributes in your relations.

  3. For each relation in your schema, specify a set of completely nontrivial functional dependencies that hold for this relation based on your real-world scenario. Some of your relations may have no nontrivial functional dependencies.

  4. For each relation in your schema, check if it is in Boyce-Codd Normal Form (BCNF). If not, decompose the relation into BCNF. Some DatingBase schemas may not have any BCNF violations

  5. Are there any nontrivial multivalued dependencies, which are not also functional, that hold on any of the relations in your schema? If so, decompose the relations into 4NF.

  6. Can you combine any relations in your schema without introducing redundancy (i.e., without creating BCNF or 4NF violations)? If so, combine them.

  7. At this point, if there is something you'd like to change in your database schema (such as an attribute name, a relation structure, etc.), you can do that. Make sure that you don't reintroduce any redundancies.

Problem Set

You will complete the problem set online using Gradiance. Log in at http://www.gradiance.com/services.

The name of the homework is CS 235 Homework 2. All questions in this problem set are multiple choice. However, to answer them correctly you will need to work out their long (general) answers. A correct answer is worth 3 points. You lose a point for each incorrect answer. You can take the assignment as many times as you like; only your last score will count. Note that you will probably get slightly different questions each time you take it.