433-351 Database Systems - Project

[ Home | Project Home ]

Working in teams of 2 or 3, students will design and implement their own web database system. Teams will select a domain relevant to their outside interests (e.g. in science, engineering, commerce, medicine, humanities, music, sport, etc). The project will be an end-to-end system, including: an interface for forms-based data entry, an interface to an XML data source, and an interface for data output. Output will include reports, customised views for different types of users, and forms-based query. The project files will live in the public_html directory of one of the students (details below).

Projects are worth 15% of the final mark, and will be assessed according to the following criteria, each having equal weight:

  1. design: to what extent does the database design measure up to the design principles presented in the course?
  2. complexity: to what extent does the database model a complex domain?
  3. implementation: how good are the code and the user-interfaces?
  4. presentation: how well are the design and implementation documented, and how clearly was the work presented to the tutorial?
  5. originality: to what extent does the database model a novel domain?

Design Phase - March/April

WeekActivity
1-3 Identify teams of 2-3 students and agree on a domain
4 Set up a project homepage, identifying the team members and giving a brief (10-25 word) description. Give a list of at least 10 English questions you would like your system to be able to answer, e.g. ``compute the mean prevalence rate of asthma for primary-school aged children, grouped by socioeconomic status.'' Describe in detail how you will populate the database using data-entry forms and by importing data from online sources. Briefly describe the kind of reports and specialized views you plan to support.
5 Create an entity-relationship diagram for the model you plan to use in your system, showing cardinality constraints. Work out the relational schema, and document it using the standard table representation (giving column headings and a sample tuple for each relation, underlining primary keys, and using arrows to represent foreign keys).
6 Create an SQL definition of the data model, specifying attribute types, keys, foreign keys, null constraints, and a sample value for each attribute given as a comment. Write SQL queries to implement your sample queries.

The project activities are broken down into semester weeks as a guideline. Teams should bring their latest work to tutorials each week.

Implementation Phase - May (deadline 23/5)

WeekActivity
8-10 System development
9 Project registration
10 Project discussions in tutorials
11 Submission
12 Project Presentations: use handouts or slides to show screenshots of the system (both for data input and output)

Notes: (please check back here for any updates)

  1. Include a link to the XML data file, and to a PHP script which loads that XML into the database. See the FAQ for details about the XML file.

Project files

Project files will live in /home/studproj/351/2003s1/ and will use one of the team member's mysql database. (The databases of the other team members may be used for offline development work and backups). Set up the shared filespace as follows:

  1. log into queeg.cs and make sure you are in your home directory
  2. ln -s /home/studproj/351/2003s1 351
  3. mkdir -m 1777 351/XXXXXXXX
    (where XXXXXXXX = a hard-to-guess string known only by project members)
  4. save this template as 351/XXXXXXXX/index.html
  5. chmod 666 351/XXXXXXXX/index.html
  6. edit index.html adding project details

The corresponding web URL is: http://queeg.cs.mu.oz.au:8080/351/XXXXXXXX/index.html

Backups

Teams are strongly encouraged to create regular backups of their databases by dumping them to a file (e.g. backup-2003-04-27.sql). No recovery services for the central database are available.

Submission

Submission instructions to be provided


Steven BIRD
Last modified: Wed May 7 14:53:30 EST 2003