3.3 KiB
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