Relational Database Systems
Course Content
An advanced course in SQL and relational database systems (RDBS), focusing on modern SQL features and database administration.
The course builds on Introduction to Relational Databases (URDB), extending it in several ways:
advanced use of SQL queries
SQL query optimization using knowledge of how database systems work internally
database system administration
server-side programming (stored procedures) and client-side programming (Python, JavaScript)
Lectures will focus on the PostgreSQL database system.
Practical Sessions
Practical sessions focus on building database systems: designing, implementing and administering a database model. The goal is to complete a term project: developing an application using a database system such as PostgreSQL, MariaDB, MySQL, Db2, Oracle, etc.
Exam
The exam will consist of written and oral parts. Students will answer theoretical questions, solve short problems, and discuss and defend their term project.
Lectures
| 1 | Introduction, PostgreSQL |
| 2 | Improved Data Model |
| 3 | Table Joins, Aggregation, Views |
| 4 | Nested select and Window Functions |
| 5 | Indexes and Query Analysis |
| 6 | Full-Text Search |
| 7 | Recursive CTEs and Hierarchy Representation |
| 8 | Stored Functions and Procedures |
| 9 | Users, Procedures, Triggers |
| 10 | Cursors, Exceptions |
| 11 | Client Programming: Python, PHP |
| 12 | ORM |
Reading
Required:
Supporting: