CS 542: Database Management Systems

HomeWorks (Due Tuesday before class)

Every assignment will be due Tuesday before class. There will be no marks given for late assignments. However, late assignments will also be graded, to assist you in learning.

Homework 1: Due Sep 22, 6:00 pm: Problem Solution

Homework 2: Due Sep 29, 6:00 pm: Problem Solution

Homework 3: Due Oct 6, 6:00 pm: Problem Solution

Homework 4: Due Oct 13, 6:00 pm: Problem Solution

Homework 5: Due Oct 20, 6:00 pm: Problem Solution

Homework 6: Due Nov 3, 6:00 pm: Problem Solution

Homework 7: Due Nov 10, 6:00 pm: Problem Solution

Homework 8: Due Nov 17, 6:00 pm: Problem Solution

Homework 9: Due Dec 1, 6:00 pm: Problem Solution

Homework 10: Due Dec 8, 6:00 pm: Problem Solution

Project

For a DB project, there are options. You can bring in your own project specification and get it approved, or you can do one of the following two projects.

Project Option 1: DB Application Development

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.

Project Option 2: DB Implementation

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

Grading Policy

Items Percentage
Homeworks
30%
Projects
30%
Final Exam
40%

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.

Academic Honesty Policy

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.