CSE 532
Fall 2002
Stony Brook
Advanced Database Systems
Annie Liu
Project Part I
Handout P1
Sep. 19, 2002
Due Oct. 24


An Object-Relational Database System

In this Project Part I, you are to design and implement an object-relational database system to support your favorite database application. See Project Hints Page for how to use IBM DB2, etc.

You will be using WWW, Java, HTML, and JavaScript (if you like) to build the application front end to your database. However, you cannot use any other language except a shell command language, if necessary. Database connectivity should be done using Java/JDBC.

Your database application

You need to have your complete application description approved by me by Tuesday September 24. You can pick one of the proposed applications from Homework 1 or propose yet another. Note that you need to let me approve your selected application even if you received 20/20 for Homework 1. You can come to my office hour, make an appointment, or just stop by my office.

Documentation

Your complete database implementation must be accompanied by a project document. The document should clearly describe the design and implementation of your system as well as how to install and use your system. It should include:

Teaming

Everyone is strongly encouraged to choose one partner to do Project Part I jointly. You could choose to work alone, but this will not reduce your scope of work. Groups of three or more are not allowed.

Working with a great partner is an enjoyable experience, with whom you can share happiness and frustration. There are pitfalls in working with a partner whom you do not know well: it can be a frustrating experience to find out that your partner is piggy-backing on you. So, choose your partner carefully--you will need to handle the problems yourselves.

The division of work between partners must be vertical, not horizontal. This means that the two partners must collaborate on each part of the project and be on top of what the other partner is doing. Each student must be aware of and understand the techniques used by his/her partner. Your final document must clearly state who did what part of the job. We will question your design and code.

Planning

You have to plan the work on your own. You have a total of five weeks. About midway in the project, you will be asked to describe your major design choices and project status to me. At the end of the project, you will be asked to present a short (15 minute) demo to me or the TA (there will be sign-up sheets).

Your first step should be to produce an Entity-Relationship design and the ER diagram for the database system. The diagram must then be translated into the object-relational model. This diagram and the translation should eventually become part of your project documentation.

The next step is to create your database and populate it with sample data. Then you should write and test the queries to be used by your system.

Following that or starting earlier, you can design the forms for display and input of the data, and then write and test the code needed to produce these forms.

Finally, you can connect the forms to your database queries and test your entire application.

It is your responsibility to come up with reasonable test data. If your data consists of just a few tuples that do not illustrate the queries or size/performance well, your grade will be affected accordingly.