CS 564 is designed to give students a solid background in database management systems (DBMS), particularly relational database management systems (RDBMS). We will examine databases from the perspectives of both DBMS users and DBMS implementors.
The first half of the course will focus on the users' perspective of DBMS. We will introduce the relational model, the entity-relationship (ER) model, and learn how to use the SQL query language. We will also cover logical and physical database design issues. The second half of the course will concentrate on DBMS implementation. We will cover file organization, indexing methods, techniques for external sorting. We will also learn about how a DBMS implements a relational operator, and the basics of query optimization.
- Python
- C++ (some online learning resources: CS368, tutorial 1, tutorial 2)
Database management systems (3rd edition), by Raghu Ramakrishnan and Johannes Gehrke (also called the “cow book”).