Page last updated: September 20, 1999

Homework Assignments

Some of the homeworks will involve use of commercial relational and object-oriented DBMS products, so this part of the course should be a lot of fun! In addition, portions of some assignments (probably homeworks 1, 4, and 5) will involve various aspects of building a relational DB from the ground up (using Microsoft SQLServer); it will include logical and phyical design, querying, etc., and the data to be stored will be of your own choosing.

For use in class, on homeworks, and on the project, you will be given accounts (if you don't already have them) on the orcas/sanjuan UNIX machines, on the tahiti/fiji/etc. Linux machines, and on the CSEPCLAB WindowsNT domain.

There are six homework assignments. The assignments and solutions will become available here at the appropriate times. Solutions will be available at most one week after the due date of an assignment.

I do not expect the homeworks to require vast quantities of time. During a given week, I'd like you to have time to do the homework and do some work on a course project, which is one reason the last three assignments are spread over two weeks -- the implementation project will be concentrated in the latter half of the quarter. I do expect your answers to be precise, concise, and to reflect clear and thorough thinking. Make any reasonable assumptions you need to on the homeworks, but state them clearly. The TA and I decide if an assumption is reasonable, so if you're not sure, ask one of us! Homework assignments will be graded by the TA.

Note on due dates: I know that unforeseen events can make it difficult to adhere to all the due dates. Thus you can hand in any assignment (except the last) up to one week late, with a 10% penalty on the grade. Please try to do this only if you have to: the sooner we get all the homeworks, the sooner we can make solutions available, and that's better for everyone. If we work together on this and do our best, there shouldn't be any problems.

Homework submission: They may be handed in physically to me or the TA at or before the beginning of class on the due date. They may also be trasmitted to the TA via FAX (timestamped receipt at or before beginning of class on due date). Online submission to the TA is also available: send the submission via email to; it must be received at or before the beginning of class on the due date. Please send the submission as ASCII or as an attachment in one of the following formats: MS-Word, HTML, ASCII, Postscript, or something else reasonable (please ask the TA first if you're using an unusual format).

Homework grades: Some information on the grades earned for the homework assignment can be found here.

Assignment Topic Date Assigned Date Due Solutions
Homework 1 E/R Diagrams, Relations, Normal Forms October 4 October 13 postscript and pdf
Homework 2 Relational Algebra and SQL October 13 October 20 postscript and pdf
Homework 3 Data Storage and Indices October 20 October 27 postscript and pdf
Homework 4 Query Evaluation/Optimization October 27 November 8 postscript and pdf
Homework 5 Concurrency Control/Recovery, Create/Query your DB November 8 November 22 postscript and pdf
Homework 6 Object Database Fundamentals November 29 December 8 Microsoft Word and html