Introduction to the relational model and SQL. System architectures and implementation techniques of database management systems: disk and memory management, access methods, implementation of relational operators, query processing and optimization, transaction management and recovery. Hands on experience with building the components of a small DBMS.