Homework Assignment #1 (due: 10/16)

CS 348 Waterloo, Fall '08


Notes (please read carefully):

  1. Part of your grade for this assignment will depend on the quality (i.e., conciseness, cleanliness, etc.) of your design.
  2. Submit the final version of your solutions at the beginning of class on due date.
  3. Please make sure that your drawing and handwriting is legible.
  4. This is an individual assignment.


  1. ER Modelling:

    Develop an E-R diagram that supports management of information about students, their enrollments in courses (and sections of courses), and assignments, quizzes, and examinations for which students enrolled a particular course get grades. There is at most one grade per enrolled student and assignment/exam/etc.

    The design should, for each assignment, quiz, and examination record the maximal attainable grade and the contribution to the final grade for the class.

    The design should also support due dates for assignments and record when a particular assignment has been submitted in order to facilitate late submission grading policies.

  2. Mapping to Relational Model:

    Convert your E-R design to relations including the choice of data types for attributes, and appropriate specification of keys and foreign keys. Provide SQL CREATE TABLE statements that create the above relations in DB2.
  3. Additional Constraints:

    It is likely that not all constraints present in your E-R diagram are enforced in the relational design. Write formulas in Relational Calculus that express (most of) the remaining constraints (i.e., those NOT captured by the SQL relational schema above).


Fine print: the usual university policies on academic honesty, fair use of computing facilities, etc., apply by default.