Table of Contents: Relational Databases - Design and Principles (Version October 2025) Preface List of Abbreviations 1 Overview: What is this about? 1.1 Milestones of Database Design 1.2 Contents 1.3 Target Audience 2 Application Domains 3 Relations 3.1 From classes to relations 3.2 Properties and Representation of Relations 3.3 Why are these tables called relations? 3.4 Attributes and functional dependencies 3.5 Full and Non-Full Functional Dependency 3.6 Anomalies 3.7 What happens next? 4 Patterns everywhere 5 Relationships and Cardinalities 5.1 Cardinality 1:1 5.2 Cardinality 1:n 5.3 Implementation of n:m 6 Normal forms 6.1 First normal form - 1NF 6.2 Second Normal Form - 2NF 6.3 Third normal form - 3NF 6.4 Boyce-Codd Normal Form - BCNF 6.5 Further normal forms 7 Individual/Type Pattern 7.1 The Concept 7.2 Implementation 8 Gen/Spec Pattern 8.1 The Concept 8.2 Implementation 9 Aggregation Pattern 9.1 The Concept 9.2 Implementation 10 Composition Pattern 10.1 The Concept 10.2 Implementation 11 Relationship-Attribute Pattern 11.1 The Concept 11.2 Implementation 12 Rules for Designing Relational Data Models 13 Example: Invoices 13.1 Requirements Description 13.2 Solution Steps 13.3 Solution 13.4 Functional-Dependency (FD) Diagrams 14 Implementation with MySQL 14.1 Task 14.2 Solution 14.3 Inserting Data 14.4 Example Queries 15 Appendix - Information from MySQL about the Database 15.1 The Data Model of the MySQL Database "ReCu" 15.2 List of the Relations