The first part of the course includes theory of SQL, implementation of some components of DBMS, and a comprehensive project. The second part of the course includes more advanced topics such as recovery; concurrency; and distributed, deductive, and knowledge databases.