CS 460/560

From CS Wiki
Jump to: navigation, search

CS 460/560: Database Management System Design

Catalog Description: Theory, analysis and implementation of database architecture, security, performance, query optimization, recovery and concurrency control, reliability, integrity, commit protocols, distributed processing, deadlock detection and management. Additional projects/assignments required for graduate credit.

Type: CS 460 is a Technical Elective for CS majors. CS 560 is available for graduate credit.

Total Credits: 3

Course Coordinator: Hasan Jamil

Prereq: CS 360

Textbook: Silberschatz, Korth and Sudarshan, Database System Concepts (Sixth Edition), McGraw-Hill, 2011.


  1. Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems, Latest Edition. McGraw Hill.
  2. J.D. Ullman, Principles of Database and Knowledge-Base Systems, Vol I and II; Computer Science Press, MD, 1988.
  3. P.A. Bernstein, V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems, Addison Wesley, 1987.
  4. M. Tamer Ozsu, and P. Valdureiez, Principles of Distributed Database Systems, Prentice Hall, 1991.

Main Topics Covered

Part I: Advanced Issues

  1. New Data Models and Systems
    1. Deductive databases.
    2. Object-oriented databases.
    3. XML and web databases.

Part II: Query Processing

  1. Review of relational model
    1. ER model
    2. Relational query languages
    3. File structures
  2. Query Processing
    1. Algebraic and heuristic optimization
    2. Cost estimation
  3. Query plan

Part III: Systems Issues

  1. Transaction processing
    1. Concept of transactions and its states
    2. ACID properties
    3. Concurrency, serializability, recoverability and isolation
    4. Testing for serializability
  2. Concurrency control
    1. Conservative protocols
      1. lock-based, time-stamp based
    2. Optimistic protocols
      1. validation, multi-version
    3. Tree structured protocols
  3. Deadlock handling
  4. Crash recovery
    1. Failure classification
    2. Log based recovery
    3. Shadow paging
    4. Concurrent execution and recovery

Part IV: Design

  1. Distributed databases
    1. Segmentation and replication
    2. Network transparency
    3. Query processing
    4. Distributed transaction model
    5. Commit protocols and concurrency
    6. Distributed deadlock handling