This note is designed to introduce
graduate students to the foundations of database systems, focusing on basics
such as the relational algebra and data model, query optimization, query
processing, and transactions. Topics covered includes: The relational model,
Schema design, database internals, Database operators and query processing,
Indexing and access methods, Buffer pool design and memory management, Join
algorithms, Query optimization, Selinger optimizer, Transactions and locking,
Optimistic concurrency control, Distributed transactions, Parallel databases,
Scientific databases, NOSQL , ORM, DryadLINQ, Streaming databases, database as a
service.
Author(s): Prof. Samuel Madden, Prof. Robert Morris,
Prof. Michael Stonebraker, Dr. Carlo Curino
The
purpose of this note is to give students about an understanding of what database
systems are, why we use them, how to use common database systems efficiently
and how database systems work internally. Also teaches about variety of data
management tasks and different approaches to them.
Covered topics: Introduction to databases,
Relational model, algebra, calculus, Basics of SQL programming, Advanced
SQL programming, Database design and normalization, Basics of query and
transaction processing, Introduction to XML (data format and query languages).