Files
ihk-ausbildung/1-Ausbildungsjahr/LF3-Datenbanken/LF3-02-Datenmodellierung.md

3.3 KiB

3.2 Datenmodellierung

ER-Modell (Entity-Relationship)

Das ER-Modell ist ein konzeptionelles Datenmodell zur Beschreibung von Datenstrukturen.

Grundbegriffe

ER-Modell - Komponenten
├── Entitäten (Entities)
├── Beziehungen (Relationships)
└── Attribute (Eigenschaften)

Entitäten

Eine Entität ist ein Objekt der realen Welt, das eindeutig identifizierbar ist.

Entität Beispiel
Person Kunde, Mitarbeiter
Ding Produkt, Auto
Konzept Bestellung, Rechnung

Attribute

Attribute beschreiben Eigenschaften von Entitäten.

Attribute - Typen
├── Einfachwertig
├── Mehrwertig (z.B. Telefonnummern)
├── Zusammengesetzt (z.B. Adresse)
└── Abgeleitet (z.B. Alter aus Geburtsdatum)

Beziehungen (Relationships)

Beziehungen verknüpfen Entitäten miteinander.

Beziehungsgrade
├── 1:1 (One-to-One)
├── 1:n (One-to-Many)
└── n:m (Many-to-Many)

ER-Diagramm

Symbole

Notation (Chen-Notation)
Rechteck      → Entität
Raute         → Beziehung
Ellipse       → Attribut
Unterstrich   → Primärschlüssel
Doppel ellipse → Mehrwertiges Attribut

Kardinalitäten

Symbol Bedeutung
1 Genau eins
N Eins bis viele
0..1 Null bis eins
0..N Null bis viele

Beispiel: Webshop

ER-Diagramm - Webshop

    Kunde ──────── Bestellung ──────── Produkt
    (1)   (1..n)  (1)   (1..n)   (1)   (1..n)

Kunde: {Kunden_ID (PK), Name, E-Mail, Adresse}
Bestellung: {Bestell_ID (PK), Kunden_ID (FK), Datum, Status}
Produkt: {Produkt_ID (PK), Name, Preis, Kategorie}
BestellPosition: {Bestell_ID (FK), Produkt_ID (FK), Menge}

Normalisierung

Normalisierung reduziert Redundanz und vermeidet Anomalien.

Normalformen

Normalisierungsstufen
├── 1. Normalform (1NF)
├── 2. Normalform (2NF)
├── 3. Normalform (3NF)
└── Boyce-Codd-Normalform (BCNF)

1. Normalform (1NF)

Bedingung: Jedes Attribut enthält nur atomare (unteilbare) Werte.

Nicht 1NF:
Bestellung | Produkte
-----------|------------------
1          | A, B, C

1NF:
Bestellung | Produkt
-----------|----------
1          | A
1          | B
1          | C

2. Normalform (2NF)

Bedingung: 1NF erfüllt + jedes Nicht-Schlüssel-Attribut ist vom gesamten Primärschlüssel abhängig.

3. Normalform (3NF)

Bedingung: 2NF erfüllt + keine transitiven Abhängigkeiten.

Nicht 3NF:
{Student_ID, Kurs_ID} → {Note} → {Bewertungstext}

3NF:
{Student_ID, Kurs_ID} → {Note}
{Note} → {Bewertungstext}

Übung: Datenmodell erstellen

Aufgabenstellung

Erstelle ein ER-Diagramm für eine Bibliothek:

  • Bücher können ausgeliehen werden
  • Kunden leihen Bücher aus
  • Ein Buch hat mehrere Exemplare

Lösung

Entitäten:
- Kunde (Kunden_ID, Name, Adresse)
- Buch (ISBN, Titel, Autor, Verlag)
- Exemplar (Exemplar_ID, ISBN, Status)
- Ausleihe (Ausleihe_ID, Kunden_ID, Exemplar_ID, Datum)

Beziehungen:
- Kunde (1) ─── (0..n) Ausleihe
- Exemplar (1) ─── (0..1) Ausleihe
- Buch (1) ─── (1..n) Exemplar

Querverweise


Stand: 2024