As part of this project, you will envision a database application, and implement it fully using a DBMS (like Oracle). Implementation steps include (a) analyze the requirements of your application and represent them using a conceptual model, like ER (b) translate the ER schema into a relational schema (c) analyze the relational schema using normalization theory (d) represent the relational schema in SQL DDL, and test the SQL DDL statements against a database such as Oracle/mySQL for correctness (e) analyze the operations you would like to support for your application (f) represent these operations in SQL DML for correctness (g) build an interface for the end-user to use the database. Also depending on your individual interests, you can investigate different aspects such as advanced SQL aspects like triggers, stored procedures etc.
The project will be evaluated based on (a) creativity of envisioning a database application (b) your mastery of the course materials (c) your comprehsensive testing of your system, and (d) your focus in investigating additional topics outside of class.
The project will be done either individually or in teams of two, and will be submitted in four phases. You can obtain the detailed project specification pdf.
As part of this project, you will implement modules that form core part of DB engines. You will implement them on top of minibase software that is provided in java -- the software provided already has modules implemented such as disk manager. You will implement other modules such as buffer manager, heap file manager etc. You can find additional details here
| Items | Percentage |
| Homeworks |
|
| Projects |
|
| Final Exam |
|
Homework and project assignment descriptions will be available from the course web site. Students are expected to view/download the assignments. Failing to check the course web site is not an acceptable excuse for late submission, or missing exams. For projects, you must be able to submit your source code.
Unless explicitly noted, all work is to be done on an individual basis. You are encouraged to discuss with others about ideas and material in the course, in preparing for exams, in understanding homework problems, project statements etc. However, all homework solutions, exams are to be written individually, and the solutions should be your own. Projects requiring teamwork, you are required to solve the problem with your partner/(s), and not with other teams.
Any violation of the WPI's guidelines for academic honesty will result in no credit for the course and referral to the Student Affairs Office. More information on definitions, responsibilities and procedures regarding the WPI academic honesty policy can be found here.