CS 235: Assignment 1

Due in class, Monday, April 9, 2007


Step 1 of Your PDA (Personal Database Application)

Your programming project for CS 235 will be to build a substantial database application for a real-world scenario that you choose and like. First, you will design your application using an E/R diagram, which is step 1 of your project. Then you will transform the E/R diagram to a relational schema for the database, and you will create an actual database using mysql. You will populate the database with lots of data, write interactive queries and modifications on the database, and develop user-friendly tools for manipulating the database.

Your first step is to identify the domain you would like to manage with your database, and to construct an entity-relationship diagram for the data. We suggest that you pick an application that you will enjoy working with, since you'll be stuck with it for the whole quarter! For example, you can build a database of your friends (similar to orkut or myspace).

Try to pick an application that is relatively substantial, but not too enormous. For example, when expressed in the entity-relationship model, you might want your design to have in the range of five or so entity sets, and a similar number of relationships. The total number of entity sets plus relationships for most reasonable designs should be in the 8-15 range. Intuitively you'll sense if you application is too complex or too simple.

You should certainly include different kinds of relationships (e.g., many-one, many-many) and different kinds of data (strings, integers, etc.), but your application is not required to use advanced features, such as subclassing, multiway relationships, or weak entity sets, if they are not appropriate for your application.

So, here is what you need to do for step 1 of your PDA:

  1. Describe the database application you propose in one or two paragraphs. Your description should be brief and relatively informal. If there are any unique or particularly difficult aspects of your proposed application, please point them out. Your description will be graded only on suitability and conciseness.

  2. Specify an entity-relationship diagram for your proposed database. As always, don't forget to underline key attributes and include arrowheads and rounded arrows indicating the multiplicity of relationships. If there are weak entity sets, indicate them by double lines, as described in class.

Please, save a copy of your PDA for reference as you do Step 2 of the PDA.

If you are having trouble thinking of an application, or if you are unsure whether your proposed application is appropriate, please feel free to consult with the instructor.


Problem Set

You will complete the problem set using Gradiance, an online learning system, developed by a team led by Jeff Ullman. Please, follow the instructions on the access card from your textbook.

To sign up for the class, specify the class sign up token given in class.

The name of the homework is CS235 HW1. 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.