CS145 - Introduction to Databases
Spring 2000, Prof. Widom
Personal Database Application: Part 1
Due Monday April 10
Turn-in procedure and late policy reminder
- Assignments must be turned in on paper. On your assignment
please include your name and your preferred email address. Also
please save a copy of the E/R diagram portion of this assignment, as
it will be needed for subsequent project parts.
- On-campus students: Your assignment must be turned in
by 5:00 PM on Monday April 10. You may turn the assignment in during
class on Monday, or you may turn it in at the course administrator's
office: Marianne Siroker, Gates 436. Assignments less than 24 hours
late will be penalized 10%. Assignments more than 24 but less than 48
hours late will be penalized 30%. No assignments will be accepted
after 5:00 PM on Wednesday April 12.
- SITN students: Your assignment must be timestamped by
the courier on Tuesday April 11. Late assignments timestamped by the
courier on Wednesday April 12 will be penalized 20%. Assignments
timestamped later than April 12 will not be accepted. Assignments not
sent by SITN courier are subject to the late policy for on-campus
students specified above. No late assignments are permitted for
remote SITN students.
- For emergencies: Since emergencies do arise, each
student is allocated four "chits". Each chit may be used to turn in a
single assignment up to 24 hours late with no penalty, or two chits
for up to 48 hours late. For SITN students, two chits are required to
turn in an assignment one courier-day late. As with penalized late
work, no assignments will be accepted more than 48 hours (or one
courier-day) late. We'll keep track of your chits automatically.
The assignment
Your CS145 programming project will be to build a substantial database
application for a real-world domain of your choosing. You will design
a schema on paper, then you will create an actual database using
Oracle. You will populate the database, write interactive queries and
modifications on the database, explore other aspects such as
constraints and triggers, create programs that manipulate the
database, and finally develop a simple Web front-end to your database
application.
Your first step is to identify the domain you would like to manage
with your database, and to construct an entity-relationship (E/R)
diagram for the database. We suggest that you pick an application
that you will enjoy working with, since you'll be stuck with it for
the whole quarter! In previous years, students who built a database
about something they were interested in - a hobby, a favorite Web
site, material from another course, a research project, etc. - got the
most out of this part of CS145. It is especially nice if you pick an
application where you can populate your database using real (as
opposed to fabricated) data.
Try to pick an application that is relatively substantial, but not too
enormous. For example, your E/R design should have in the range of
five or so entity sets, and a similar number of relationship sets.
Note that this is a ballpark figure only! 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 need not necessarily require advanced features such as
weak entity sets, ""is-a"" relationships, or roles.
To get started on your Personal Database Application
(PDA for short), your assignment this week consists of two
parts:
- Write a short (approximately one paragraph) description of the
database application you propose to work with throughout the course.
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
on suitability and conciseness.
- Specify an E/R diagram for your proposed database. Don't
forget to underline key attributes for entity sets and include
arrowheads indicating the multiplicity of relationship sets. If there
are weak entity sets or "is-a" relationships, make sure to notate them
appropriately.
If you're having trouble thinking of an application, or if you're
unsure whether your proposed application is appropriate, please feel
free to consult with one of the course staff. In fact, we
encourage all students to visit office hours to consult with a staff
member on your chosen application and E/R design. Coming up with a
good design now will pay off greatly as the project progresses.
SAVE A COPY OF YOUR E/R DIAGRAM - YOU WILL NEED IT FOR
SUBSEQUENT PROJECT PARTS.