Refreshing, extension and formalization of basic concepts and mathematics from earlier courses: Relational algebra, tupel calculus, and domain calculus. Different key concepts. Functional dependencies, axioms and deduction rules for these. Lower normal forms, theorems and proofs concerning normal forms. Algorithms for normalization.
General dependencies: Multi-valued dependencies, join dependencies, axioms and deduction rules for these.
Higher normal forms: Theorems and proofs. Algorithms for normalization to higher normal forms.
Transitive closures and their use: Connection to the normal forms. Algorithms to compute transitive closures and for the verification of normalized structures.
Formalization of non-normalized structures: Extensions and generalizations of the relational model and the formalizations related to it.
Introduction to models: The relational model, the nested relational model, functional and logical models, object models. The mathematical foundation for the different models. Generalization of the concept of a model.
Optimization: Mathematical principles for query optimization. Cost functions.