- 1 Abschnitt
- 8 Lektionen
- Um den Kurs in deinem Profil zu hinterlegen klicke oben auf Starten
Datenmodellierung
Datenmodellierung ist ein wesentlicher Bestandteil des Softwareentwicklungsprozesses, der die Struktur und die Beziehungen der Daten innerhalb eines Systems definiert. Eine effektive Datenmodellierung erleichtert die Verwaltung, den Zugriff und die Integrität der Daten und trägt zur Effizienz und Qualität des Systems bei.
Einführung in die Datenmodellierung
Ziel und Bedeutung der Datenmodellierung
- Ziel: Definition der Struktur der Datenbank und der Beziehungen zwischen den Daten.
- Bedeutung: Eine gut durchdachte Datenmodellierung stellt sicher, dass Daten konsistent, zugänglich und effizient verwaltet werden können.
Hauptbestandteile der Datenmodellierung
- Entitäten: Hauptobjekte, über die Daten gespeichert werden (z.B. Kunde, Produkt).
- Attribute: Eigenschaften oder Merkmale der Entitäten (z.B. Name, Preis).
- Beziehungen: Verbindungen zwischen den Entitäten (z.B. Kunde bestellt Produkt).
Entity-Relationship-Diagramme (ER-Diagramme)
ER-Diagramme sind ein gängiges Werkzeug zur Visualisierung der Datenmodellierung. Sie zeigen Entitäten, Attribute und Beziehungen in einem grafischen Format.
Elemente eines ER-Diagramms
- Entitäten: Rechtecke, die Objekte darstellen.
- Attribute: Ovale, die Eigenschaften der Entitäten darstellen.
- Beziehungen: Rauten, die die Verbindungen zwischen den Entitäten darstellen.
Beispiel eines einfachen ER-Diagramms:
erDiagram
KUNDE {
int kundenID
string name
string email
}
PRODUKT {
int produktID
string name
float preis
}
BESTELLUNG {
int bestellID
date datum
}
KUNDE ||--o{ BESTELLUNG : tätigt
BESTELLUNG }o--|{ PRODUKT : enthält
Normalisierung
Normalisierung ist ein Prozess zur Strukturierung einer relationalen Datenbank, um Redundanzen zu minimieren und die Datenintegrität zu verbessern.
Normalformen und ihre Bedeutung
Erste Normalform (1NF)
- Anforderung: Alle Attributwerte müssen atomar sein, d.h., sie dürfen keine zusammengesetzten oder mehrfachen Werte enthalten.
- Beispiel:
Kunde (kundenID, name, telefon)
2. Zweite Normalform (2NF)
- Anforderung: Die Daten müssen die 1NF erfüllen und alle nicht-schlüsselabhängigen Attribute müssen vollständig von jedem Schlüsselkandidaten abhängen.
- Beispiel:
Kunde (kundenID, name)
Bestellung (bestellID, kundenID, datum)
3. Dritte Normalform (3NF)
- Anforderung: Die Daten müssen die 2NF erfüllen und alle Attribute müssen nur von den Schlüsselkandidaten abhängen und nicht von anderen nicht-schlüsselabhängigen Attributen.
- Beispiel:
Kunde (kundenID, name)
Bestellung (bestellID, kundenID, datum)
Produkt (produktID, name, preis)
BestellProdukt (bestellID, produktID, menge)
Visualisierung der Datenmodellierung
Beispiel eines ER-Diagramms:
erDiagram
KUNDE {
int kundenID
string name
string email
}
PRODUKT {
int produktID
string name
float preis
}
BESTELLUNG {
int bestellID
date datum
}
BESTELLPRODUKT {
int bestellID
int produktID
int menge
}
KUNDE ||--o{ BESTELLUNG : tätigt
BESTELLUNG }o--|{ BESTELLPRODUKT : umfasst
BESTELLPRODUKT }o--|| PRODUKT : enthält
Beispiel für die Normalisierung einer Tabelle:
Unnormalisierte Form:
Bestellung (bestellID, kunde, produkt, menge, preis, datum)
Erste Normalform (1NF):
Bestellung (bestellID, kunde, produkt, menge, preis, datum)
Zweite Normalform (2NF):
Kunde (kundenID, name)
Produkt (produktID, name, preis)
Bestellung (bestellID, kundenID, datum)
BestellProdukt (bestellID, produktID, menge)
Dritte Normalform (3NF):
Kunde (kundenID, name)
Produkt (produktID, name, preis)
Bestellung (bestellID, kundenID, datum)
BestellProdukt (bestellID, produktID, menge)
