Databases
For materials see Moodle
Content (tentative)
- Architecture of database systems, conceptual data modeling with the Entity-Relationship (ER) modeling language (pdf, pptx)
- The relational data model: Referential integrity, keys, foreign keys, functional dependencies (FDs), canonical mapping of entity types and relationships in the relational model, update, insertion and deletion anomalies (pdf, pptx)
- Relational schema design theory: relational algebra as a query language, determination of candidate keys, FD closure, attribute closure, determination of relational schemas from FDs, canonical cover (pdf, pptx)
- Boyce-Codd normal form, lossless and dependency-preserving decomposition of relation schemas (pdf, pptx)
- Third normal form, synthesis of relational schemas, inclusion dependencies, multiple-value dependencies (pdf, pptx)
- SQL: Practical query languages and integrity conditions without consideration of the conceptual data model
- Database architecture: Characteristics of storage media, I/O complexity, DBMS architecture: external storage manager, pages, buffer manager, file manager, record layout on a page (row-wise, column-wise, mixed) (pdf, pptx)
- Indexing techniques: ISAM index, B+-tree index, hash indexes, multidimensional indexes, vector databases
- Query processing: Sort operator: two-way shuffling, block-by-block processing, selection trees, execution plans, compound operator: nested loops, block-by-block compound, index-based compound, compound by shuffling, partitioning by hashing, other operators: grouping and duplicate elimination, selection, projection, pipeline processing principle
- Query optimization: cost metrics, estimation of result size and selectivity of operators, compound optimization, physical plan properties, interesting orders, query rewriting, index cuts, bitmap indexes
- Transactions and error recovery: ACID, anomalies, serializability, locks, 2-phase commit protocol, concurrency in index structures, shadow pages, write-ahead log, snapshot backups