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