CS 5614 will represent something of a departure in the teaching of
the introductory graduate course on database management systems. It
will be taught from a practitioner's point of view and will cover
all the three major aspects of the area - design, programming and
implementation of DBMSs. The course develops into
four natural modules: Data Modeling, Query Processing, Transaction
Processing and Information Integration. We will begin with a
historical perspective on database systems and identify the
important components of database systems.
We will then cover the ER approach to database modeling,
the relational model, along with issues of normalization and redundancy elimination.
Module 2 will cover three query languages - Relational Algebra,
Datalog and SQL. We will also address implementation aspects
such as query processing and physical database tuning for placement
of indices. Module 3 covers several aspects of transaction management
in detail. Specifically, we will deal with concurrency control,
recovery, locking mechanisms, serializability and associated database
elements. The final module will cover futuristic aspects such
as information mediation, data warehousing, databases in a programming
environment, web-enabled databases, visual image cartridges,
and data mining. There will
also be a cursory coverage of active and rule-based elements in
a database system.