Relational database systems provide efficient storage for large volumes of data. This course highlights that these systems also provide a versatile and expressive data processing language: SQL. There’s much more to SQL than the plain
SELECT...FROM...WHERE clause and we will see that a surprisingly large number of algorithmic problems can be tackled using SQL. Moving computation close to the data is key to unlock the true potential of database systems.
Selected course topics include
- common table expressions (
- non-standard data types (arrays, geometric data, JSON, XML),
- table functions,
- window functions,
- recursive computation,
- user-defined SQL procedures (PL/SQL),
- index design for complex SQL queries,
- off-beat SQL applications, useful SQL idioms, and fun SQL puzzles.
The course will only provide a brief introduction to the fundamental aspects of relational database systems. We expect you to have basic SQL skills (through prior attendance of Datenbanksysteme I or personal projects, for example) or be willing to acquire such skills.
Join us for a boatload of SQL fun! We will provide more course details once the semester approaches.