Schedule

Week #01

Lecture
Introduction to Database Systems, Relational Algebra (Rastislav Bencel)
Databázové systémy: Úvod do predmetu
Seminar
Data modeling (no PC) — project selection, specification on paper (handed to instructor), course expectations, motivation
Readings
Chapter 1
Database System Concepts

Week #02

Lecture
Data Modeling 1 — Cardinalities, Notations, Design Patterns, Conceptual Model (Jakub Dubec)
Data Modeling: From Ticket to Schema
Seminar
Data modeling (no PC)
Readings
Chapter 6.1, 6.2, 6.4, 6.5
Database System Concepts

Week #03

Lecture
Data Modeling 2 — Use-Case Realization, Logical and Physical Models (Jakub Dubec)
Seminar
Data modeling (no PC)
Readings
Chapter 7.1, 7.2, 7.3
Database System Concepts

Week #04

Lecture
SQL Fundamentals (Rastislav Bencel)
Seminar
SQL — database setup, basic SQL queries. WB01 (database setup). Project consultations.
Assignment
Assignment 1 — Database Model (8b) submission
Readings
Chapter 3; 4.1, 4.4, 4.5
Database System Concepts

Week #05

Lecture
Advanced SQL — JOINs, Subqueries, Aggregations (Rastislav Bencel)
Seminar
SQL — JOINs, aggregations.
Assignment
Assignment 1 — review and submission
Readings
Chapter 4.2, 5
Database System Concepts

Week #06

Lecture
Views, Triggers, Functions (Rastislav Bencel); DBMS Internals — Page Loading, I/O, Query Optimizer
Seminar
SQL — window functions
Assignment
Assignment 1 — review and submission
Test
Data Modeling (15b) — cardinalities, design patterns, relationships, logical and physical model

Week #07

Lecture
Indexing 1 — Index Structures, B-Trees (Rastislav Bencel)
Seminar
SQL practice — exercises from previous exams and assignments
Readings
Chapter 12.1, 12.6,13.1, 13.2, 13.3,13.5, 15.1, 15.2
Database System Concepts

Week #08

Lecture
Indexing 2 — Sorting, Aggregation, Join Algorithms (Rastislav Bencel)
Seminar
SQL practice — exercises from previous exams and assignments
Readings
Chapter 14.1 - 14.9
Database System Concepts

Week #09

Lecture
Transactions and Recovery Algorithms (Rastislav Bencel)
Seminar
Indexes — database indexing exercises
Assignment
Assignment 2 — SQL (7b) submission
Readings
Chapter 17, 18.1, 18.2, 18.7, 18.8, 18.9
Database System Concepts

Week #10

Lecture
Database Management and Application Aspects of Database Systems (Jakub Dubec)
Seminar
Indexes — query optimization, tooling, pgtune, database server configuration
Test
SQL (15b)

Week #11

Lecture
NoSQL — Document Stores, Key-Value, Graph Databases (Martin Binder)
Seminar
Database management
Assignment
Assignment 3 — Project (5b) released; seed data and basic queries

Week #12

Lecture
Distributed Databases — Replication, Partitioning, CAP Theorem (Jakub Dubec)
Seminar
Project presentation
Assignment
Assignment 3 — project submission
Test
Retake — one test can be retried, points count toward minimum only