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.
- 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).
- 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.
- 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.
- 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
- 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.
- Can you combine any relations in your schema without introducing
redundancy (i.e., without creating BCNF or 4NF violations)? If so,
combine them.
- 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.