CMSC 661 Database Systems

Oracle and Java related help

Project Description

You are required to build a  database application for a  business of your choice. The project will consist of

You will work in groups of 2 to 3. The project will proceed in three phases as described below. Each phase has a set of deliverables and deadline associated with it. At the end of the semester, each team is required to demo their project. A schedule of the demo will be made known to the class towards the end of the semester.

Phase I -- Design

Deliverables:    Due September 26
1. A short description of the database application
2. E/R diagram for your database application. Follow all notational conventions.
3. Team members. Note: if you have problems finding a team to work with, contact Dr. Mundur immediately.

Go or No Go/Modify decision from Dr. Mundur on October 3 (It is in your interest to submit a well-thought out design of the complexity expected -- otherwise modifying it to fit the minimum requirements will cut into your Phase II and III time).

Phase II -- Relations and Implementation Plan

Deliverables: Due Oct 12
All previous deliverables with modifications if any
1. Relations corresponding to the E/R diagram.
2. Nontrivial Functional dependencies for each relation.
3. Normal form that the relation is in.
4. Decompose if necessary so that each relation is in BCNF or 3NF.
5. As part of your implementation plan, identify all system functions -- DBA and non-DBA.

Phase III -- Implementation, Test, and Demo
This will be the final phase of the project where you will be required to create, populate, and use your database using Oracle. A Web front-end is also required. You will also be required to implement appropriate constraints (at least 4) and triggers (at least 1). Develop and test several interesting SQL queries -- data retrieval as well data manipulation statements (your test queries will
be part of project grade).

A few pointers for populating your database: generate your fake data carefully, for instance, do not generate duplicate values for key attributes. For finding answers to interesting queries, it is expected that two or more relations will join. Be sure to generate values that match with values from other relations. Generating values for multiple relations at the same time will help.

Deliverables: Due Dec 13-14  (SEE DEMO GUIDELINES)
All previous deliverables with modifications if any.
1. A sample program code for creating the database.
2. Any scripts for generating and loading the data into your database.
3. Sample code for constraints and triggers (using PL/SQL).
4. SQL queries and other statements used in testing and test results .
5. Contribution log for the  project. While you cannot precisely put a number on how much work each person in your team contributed, try to estimate. If you do not have any problems acknowledging equal responsibility, indicate the same.
6. A 15-30 minute demo. The schedule will be made available.

Tentative grading Policy:
(each category will be further broken down as we progress through the semester)

Design 30%
Implementation 60%
Demo & Presentation 10%