04-631   Advanced Database Systems

Location: Africa

Units: 12

Semester Offered: Fall

Course description

This course aims at describing the databases in a way suitable for applications and computer systems designers. First, the course describes the fundamental characteristics of current architectures. Then, it illustrates the main lines of system evolution, presenting the models that go beyond the relational systems such as active databases, object-oriented systems, and the management of XML data.

Course outline

  • Transactional systems: relevance of transactional systems; concept of transaction; transaction properties: atomicity, consistency, isolation, durability; theory of concurrency and concurrency control techniques; database recovery techniques; management of the system logs and recovery protocols
  • Internal architecture of a relational server: notion of logical and physical page and buffer management policies; research; management and data re-order techniques; B-trees and B+-trees; hashing; Access methods: scanning, sorting, join; query optimization
  • Distributed and parallel architectures: fragmentation and data allocation; query distribution and optimization; distributed transactions; parallelism; management of replicated data
  • Active databases: description of the ECA (Event-Condition-Action) paradigm for active rules; rules execution mechanisms; analysis techniques for active rules; triggers in relational systems; applications of active databases
  • XML databases: Query languages for XML: XPath, XQuery
  • Introduction to NoSQL databases; stream databases; MongoDB

Prerequisites

Familiarity with relational databases and Structured Query Language (SQL).

Faculty

Eric Umuhoza