Software development has been paired since early days with management of storage and persistency tools. In this course, the classic approach to relational databases will be presented from the design phase via entity-relationship diagrams to the implementation via queries formulated in Structured Query Language (SQL). Students will learn how to model data and use relational databases as well as the functioning of DataBase Management Systems (DBMs) looking at the internal implementation details. An overview will be given on NoSQL databases.