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.
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