Lecture: 3 hours

Discussion: 1 hour

Prerequisite: Course 165A

Grading: Letter; projects (60%), final (40%)

Catalog Description:
Concepts of Distributed Database Systems and Architectures, Distributed Database Design, Distributed Query Processing and Optimization, Transaction Management and Concurrency Control, Heterogeneous and Multidatabase Systems

This course exclusively focuses on the design and system issues related to distributed database systems. Students will learn the usage of different design strategies for distributed databases, and they will study query processing techniques and algorithms as well as transaction management and concurrency control concepts used in such systems. Design and implementation issues related to multidatabase systems are discussed as well.

In the project work, the class will stress on applying the techniques learned in class to commercial database management systems.

Expanded Course Description:

  1. Introduction
    1. Distributed Data Processing
    2. Concepts of Distributed Database Systems
    3. Review of Computer Networks
  2. Distributed DBMS Architecture
    1. Transparency Issues
    2. Architectural Models (including Client/Sever Models)
  3. Distributed Database Design
    1. Distributed Design Issues
    2. Fragmentation
    3. Allocation
    4. Integrity Constraints
  4. Query Processing
    1. A. Objectives of Query Processing
    2. Review of Relational Algebra
    3. Layers of Query Processing
    4. Query Decomposition and Data Localization
  5. Query Optimization
    1. Centralized Query Optimization
    2. Join Ordering
    3. C. Distributed Query Optimization Algorithms
  6. Distributed Transaction Management and Concurrency Control
    1. Properties and Types of Transactions
    2. Serializability Theory
    3. Concurrency Control Algorithms
  7. Distributed DBMS Reliability and Replication Techniques
  8. Multidatabase Systems
    1. Problems in Heterogeneous Multidatabase Systems
    2. Database Integration Strategies
    3. Multidatabase System Architectures


No textbook, a collection of papers addressing specific topics will be distributed in class.

Computer Usage:
Students work individually on projects in a UNIX workstation environment, using standard UNIX tools as well as major database software packages.

Engineering Design Statement:
The projects involve design, implementation and verification of database applications in a distributed database environment as well as the analysis and verification of query processing algorithms. The systems and tools used for these projects resemble those that would be found in industry to the extent possible, including the standard database query languages SQL and systems such as Oracle, DB2 or Informix. Projects are graded based on the design, performance, and correctness, including documentation. Examination questions are based on models and techniques discussed in the lecture and from the projects.

Instructor: M. Gertz

Prepared by: M. Gertz (February 1999)


Revised: 2/99