CS505 Fall 2008 Project

 

Objectives

The aim of this project is to implement several functions of DBMS and understand how they interact with the rest of DBMS and database applications through a minimal database. You may implement this in any language you prefer. You may work alone or team up with another student.  Here are several sample applications.

·         Nile company

·         Rock Music database

·         Literature search

 

You are encouraged to propose your own.

 

Again, the ultimate goal of the project is for you to understand the underlying design issues and mechanism of a DBMS instead of thoroughly implementing a client-side database application. Therefore, the size of the database should be moderate. A database with too many relations might distract your efforts from implementing the required components to maintaining the database. So please do try to keep your database as small as possible.

 

 

 

Components

 

This project will contain three parts: the implementation of a basic client-side database application, two must-have DBMS functions and two selected DBMS functions ( if you are working in a team) .  The final project should make sure that these components do work together as a whole.

 

The basic client-side database application requires

·         O1: Design and an implementation of client-side database application

·         O2: A web-interface.

 

Two required DBMS functions include

·         A1. Access control

·         A2. Transaction scheduling

 

Two additional DBMS functions can be selected from the following set of functions based on your interest or the need of your database application.

 

  B1. Indexing

      implementation of an indexing structure which might speed up certain queries in your database.

  B2. Data replication

       implementation of a simple database replication algorithm for fast retrieval of data while maintaining database consistency.

  B3. Using XML as the middle-ware between database and web interface

      using XML as the intermediate format for database input and output while also providing additional query.

  B4. Informational retrieval algorithm

      Implementation of a simple search engine.

  B5. Data mining method to assist database query

      Implementation of a simple data mining method.

 

 

Submission

 

Due sep.  22nd.

1.      Group members and proposal about how work will be split between members.

2.      Proposal of the database application, E-R diagram, and Initial Database Design.

 

Due Oct.  17th. Submit the code and the executables and a printed report in the following format for each group:

3.      E-R diagram, and Initial Database Design

4.      Implementation and documentation of the first DBMS required function – access control.

5.      Proposals of additional components besides required components.

 

 

Due Dec 7th  Submit the code and the executables and a printed report in the following format for each group:

1.      Database design and architecture

2.      Description of program components (data structures, algorithms, and filenames)

a.      Description

b.      Program flow

c.       Data structures

d.      Algorithms if there is any

3.      Program functions:

a.      Sample input and output screens for each function

4.      Testing

a.      Explain what you have tested to make sure your software works correctly.

b.      Describe your project experience.

 

Grading

(20) Basic client-side database components: Design +Implementation + Interface

(30*2 / 15*4) Required and optional functional components: Design and Implementation

(10) Testing

(10) Reports