Project Phase I
Goal:
In this phase you will
build a complete database application using SQL
Server with a very simple web-based front end. You will be given a
high-level specification of the domain of the database application, and
which queries your interface needs to support. This phase will be done
in two parts. In
the first part, due 21th
Jan, you
will create your database schema, your
actual database on the SQL server, and some sample data tuples. In
the second part, due 26th Jan,
you will implement the query interface.
Data
Although you are required
to populate your database with sample data,
we expect that to be a small part of your work. We expect that each
table in your database will contain roughly 5 tuples (don't think too
hard, it's quite likely that you would need to enter them again in
phase 2).
Application domains
We will provide three
domains for your application:
Details:
In each of the domains, you
will get a description of what the database
should store. Certain aspects of the domain will be mandatory. In
addition, you are expected to invent a few other attributes of interest
to model in your database. The description of the domain will be given
informally, and you will need to prepare a database schema that models
the domain.
Your schema should have at the
least four tables, but can be much
larger. Some of the tables will have five columns or more. There can be
foreign keys between columns in different tables. Each column must have
a data-type and declared to be either a key or not a key. Choose
imaginative column and table names.
Advices...
- Read the instructions for the domains you are not doing, and the phase
2 instruction from last quarter before starting on your design. So
you would have a better idea on what you would be doing with your
schema later... and how your database interacts with databases from the
other domains.
- Keep in mind the key of your table is the set of attributes that
uniquely identifies the tuples in your table
- Avoid redundant data. say, TableA (A, B, C, D, E, F), TableB (A, B, C, D, G) is a bad
example...
- For the same reason avoid huge keys if you want to use that key
as a foreign key in another table...
- Bad design in this phase implies extra work in phase 2 and 3.
What and
When and How Do I hand in?
- Part 1: Schema +
database + data
What -
your
complete schema, in a .txt file, clearly stating your tables, columns,
datatypes of columns, keys and foreign keys etc. (Just type it out, example Don't turn in the SQL statements you
used (or output from Enterprise manager) to create your tables) Also in
a .txt, turn in the data you've created (results of SELECT * FROM each
of your tables).
When - On or before 21th Jan
How - email your files to victort@cs. , and use
"cse444_turnin_<yourcseid>" as subject. (so I can set up some
filter for it....)
- Part 2:
What - A .zip file that contains all
of your project code (.aspx, .cs) plus a file named "README.txt" that
contains the url of your web application. Please do not edit your
project after you turn it in. We may need to look at the
timestamps to
verify timeliness, correctness, etc.
When - On or before
26th Jan
How - Create a
subfolder named "turnin" under your network share on iisqlsrv (e.g.
\\iisqlsrv\<your_id>\turnin) and put everything in it.