CSC 4480: Principles of Database Systems
Term Project: Phase 1

Description. The term project involves designing and implementing a database system for an organization. You may work in teams, 3 members or fewer. The term project is made up of a series of deliverables, each building towards the finished product. Please remember that all deliverables must be submitted at the beginning of class on the date they are due. Deliverables are at the group level and not at the individual level. Late deliverables will not be accepted, unless prior arrangements have been made.

The project requires building a database application for a real-world scenario of your choosing. You will design schemas for the database, and you will create an actual database using a relational database management system. You will populate the database with sample data, write interactive queries and modifications on the database, and develop user-friendly tools for manipulating the database (refer to the ASP.NET and PHP tutorials posted on the class website). I will also build a parallel sample project, intended both as a reference for marking purposes and as a method to ensure that the student projects remain somewhat synchronized.

Try to pick an application that is relatively substantial, but not too big. For example, when expressed in the entity-relationship model, you might want your design to have in the range of 6 to 10 or so entity sets, and a similar number of relationships. You should certainly include different kinds of relationships (e.g., many-one, many-many) and different kinds of data (strings, integers, etc.).

Topic Suggestions. The suggestions listed below are purposely kept short and simple. They offer you considerable latitude in terms of how to define the specifics of the project, in case you choose to work on one of them.

  1. Social Networking System. Design, implement and document a database system for an electronic social networking system (e.g., Facebook, LinkedIn, MySpace). Users can send private or public messages to their friends, and update their personal profiles to notify friends about what goes on in their lives. Expand upon this basic scenario.

  2. E-Bookstore. Design, implement and document a database system for a web-based electronic bookstore (e.g., borders.com). The system should manage information about books in the bookstore, registered users and books they have ordered. It should also store information about user opinions and book ratings. Show how this database will be used by at least two different types of users, for example: employees and customers. It may be that an employee has the privilege to add new books to the database, whereas a customer does not. Expand upon this basic scenario.

  3. Video Rental Store. Design a database system for a video rental store. You may for instance track information about the store's employees, customers and their phone numbers and the movies you offer along with details such as their genre. Show how this database will be used by at least two different types of users, for example: employees and customers. It may be that an employee has the privilege to add new movies to the database whereas a customer does not. Expand upon this basic scenario as appropriate.

  4. Airline Reservation System. Design a database for an airline reservation system that provides two services: airline ticket reservation and sales. The system should support flights by various airline companies, between major cities around the world. A route is a sequence of at most two connected flights. The system can support two types of user privileges, customer and employee. Expand upon this basic scenario as appropriate.

Of course, you are welcome to come up with your own application ideas.

Required Deliverable

A one-page project description. This is an initial, but reasonably well-thought out, one-page description of the database application you propose to work with throughout the course. State the business rules, exceptions from the business rules, and potential questions your system should answer. Provide enough details for your instructor to determine if the scope of your project is sufficient or not. A rough idea of scope is that an acceptable project is likely to yield at least 6 entities in the final design. A design with 20 or more entities/relations is definitely beyond scope. You may also state any assumptions you would like to make. A second aim of this deliverable is to have you begin your work together as a group.

Check out the sample deliverable for this part of the project.

Submission

Create a website for your database project (one website per project team) and upload your project description on your website. Email the URL of your website to your instructor.