- 1 Section
- 8 Lessons
- unbegrenzt
Datenbankmodelle verstehen
Bevor man Tabellen anlegt oder SQL schreibt, muss man verstehen, wie Daten überhaupt modelliert werden können.
Das nennt man das Datenbankmodell – also die Art und Weise, wie Informationen logisch strukturiert und gespeichert werden.
Im Laufe der IT-Geschichte haben sich mehrere Modelle entwickelt.
Heute ist vor allem das relationale Modell der Standard, aber auch andere Modelle spielen in bestimmten Szenarien eine Rolle.
1. Überblick über die wichtigsten Datenbankmodelle
| Modell | Grundidee | Beispielhafte Anwendung |
|---|---|---|
| Hierarchisches Modell | Daten sind wie ein Stammbaum aufgebaut (Eltern-Kind-Beziehungen) | Dateisystem, XML-Strukturen |
| Netzwerkmodell | Datensätze können mehrere Verknüpfungen zu anderen Datensätzen haben | alte Bank- und Versicherungssoftware |
| Relationales Modell | Daten liegen in Tabellen, die über Schlüssel verknüpft sind | Standard in Business-Anwendungen |
| Dokumentenorientiertes Modell | Ganze Dokumente (z. B. JSON-Objekte) werden gespeichert | NoSQL-Systeme wie MongoDB |
| Schlüssel-Wert-Modell | Daten werden als Paare aus Schlüssel und Wert gespeichert | Caches, Session-Speicher |
| Graphenmodell | Daten bestehen aus Knoten und Kanten (Beziehungen) | Soziale Netzwerke, Empfehlungs-Systeme |
2. Das hierarchische Modell
Das hierarchische Modell war eines der ersten Datenbankmodelle.
Man kann es sich wie einen Stammbaum vorstellen:
Jeder Datensatz (Knoten) kann mehrere „Kinder“ haben, aber nur ein Elternobjekt.
Beispielstruktur:
Firma
├── Abteilung A
│ ├── Mitarbeiter 1
│ ├── Mitarbeiter 2
│ └── Mitarbeiter 3
└── Abteilung B
├── Mitarbeiter 4
└── Mitarbeiter 5
Vorteile:
Sehr schnell bei festen Strukturen
Ideal für stark verschachtelte Daten
Nachteile:
Unflexibel: Änderungen an der Struktur sind schwierig
Keine n:n-Beziehungen möglich
3. Das Netzwerkmodell
Das Netzwerkmodell entstand, um die Starrheit des hierarchischen Modells zu überwinden.
Ein Datensatz kann hier mehrere Eltern- und Kind-Beziehungen haben.
Beispiel:
Ein Mitarbeiter kann in mehreren Projekten arbeiten, und ein Projekt hat mehrere Mitarbeiter.
| Mitarbeiter | Projekt |
|---|---|
| 1001 | A |
| 1001 | B |
| 1002 | B |
| 1003 | C |
Vorteil: Flexibler als das hierarchische Modell
Nachteil: Komplexe Verwaltung der Beziehungen – heute kaum noch genutzt
4. Das relationale Modell
Das relationale Modell wurde in den 1970er-Jahren von Edgar F. Codd entwickelt und ist bis heute das Standardmodell.
Daten werden in Tabellen (Relationen) organisiert, die über Schlüssel miteinander verbunden sind.
Beispiel:
Tabelle Kunden
| Kundennummer | Name | Ort |
|---|---|---|
| 1001 | Anna Beispiel | Berlin |
| 1002 | Max Mustermann | Hamburg |
Tabelle Bestellungen
| Bestellnr | Kundennummer | Betrag |
|---|---|---|
| 5001 | 1001 | 89,90 € |
| 5002 | 1002 | 59,00 € |
Hier verbindet die Kundennummer beide Tabellen.
Das System kann daraus ableiten:
„Welche Bestellungen gehören zu welchem Kunden?“
Kurze SQL-Demo
So könnte man diese Tabellen anlegen und verknüpfen:
"Benutzer:1" : "{ 'Name': 'Alice', 'Aufgaben': [ { 'AufgabeID': 1, 'Titel': 'Einkaufen', 'BeschreiCREATE TABLE kunden (
kundennummer INT PRIMARY KEY,
name VARCHAR(50),
ort VARCHAR(50)
);
CREATE TABLE bestellungen (
bestellnr INT PRIMARY KEY,
kundennummer INT,
betrag DECIMAL(6,2),
FOREIGN KEY (kundennummer) REFERENCES kunden(kundennummer)
);
bung': 'Milch und Brot', 'Erledigt': 'Nein' } ] }"
Damit ist die Beziehung formal definiert.
Das System sorgt automatisch dafür, dass es keine Bestellung ohne existierenden Kunden geben kann.
5. Das dokumentenorientierte Modell (NoSQL)
In modernen Web-Anwendungen (z. B. Online-Shops, Messenger) arbeitet man oft mit dokumentbasierten Datenbanken.
Hier wird kein starres Tabellen-Schema mehr verwendet, sondern ganze Dokumente im Format JSON gespeichert.
Beispiel (MongoDB):
{
"kunde": {
"name": "Anna Beispiel",
"email": "anna@example.de"
},
"bestellungen": [
{ "datum": "2025-01-10", "betrag": 89.90 },
{ "datum": "2025-02-02", "betrag": 39.00 }
]
}
Vorteile:
Sehr flexibel (jede Zeile kann anders aussehen)
Ideal für schnell wachsende Web-Projekte
Nachteile:
Keine festen Beziehungen wie in SQL
Schwerer sicherzustellen, dass Daten konsistent bleiben
6. Vergleich der Modelle
| Modell | Struktur | Flexibilität | Typische Nutzung |
|---|---|---|---|
| Hierarchisch | Baumstruktur | gering | alte Dateisysteme |
| Netzwerk | Graph mit mehrfachen Verknüpfungen | mittel | ältere Großrechner-Systeme |
| Relational | Tabellen mit Schlüsseln | hoch | Standard in Unternehmen |
| Dokumentenbasiert | JSON-ähnliche Objekte | sehr hoch | moderne Web-Anwendungen |
| Graphenbasiert | Knoten und Kanten | sehr hoch | soziale Netzwerke, Empfehlungssysteme |
Datenbankmodelle im Vergleich
Wähle ein Modell aus. Du siehst immer dieselben Daten – einmal als Baum, einmal als Netzwerk, einmal als Tabellen und einmal als JSON-Dokument. So erkennst du, wie sich die Struktur der Informationen zwischen den Modellen verändert.
Firma
├── Abteilung A
│ ├── Mitarbeiter 1
│ ├── Mitarbeiter 2
│ └── Mitarbeiter 3
└── Abteilung B
├── Mitarbeiter 4
└── Mitarbeiter 5
Mitarbeiter – Abteilung (mehrere Zugehörigkeiten möglich) Mitarbeiter 1 → Abteilung A Mitarbeiter 2 → Abteilung A, Abteilung B Mitarbeiter 3 → Abteilung A Mitarbeiter 4 → Abteilung B Mitarbeiter 5 → Abteilung B
Tabelle abteilungen ------------------- id | name ---+----------- 1 | Abteilung A 2 | Abteilung B Tabelle mitarbeiter ------------------- id | name ---+------------- 1 | Mitarbeiter 1 2 | Mitarbeiter 2 3 | Mitarbeiter 3 4 | Mitarbeiter 4 5 | Mitarbeiter 5 Tabelle mitarbeiter_abteilung (Relation) ---------------------------------------- mitarbeiter_id | abteilungs_id ---------------+-------------- 1 | 1 2 | 1 2 | 2 3 | 1 4 | 2 5 | 2
{
"abteilungen": [
{
"name": "Abteilung A",
"mitarbeiter": [
{ "name": "Mitarbeiter 1" },
{ "name": "Mitarbeiter 2" },
{ "name": "Mitarbeiter 3" }
]
},
{
"name": "Abteilung B",
"mitarbeiter": [
{ "name": "Mitarbeiter 4" },
{ "name": "Mitarbeiter 5" }
]
}
]
}
7. Fazit
Das relationale Modell ist bis heute der wichtigste Standard in der IT.
NoSQL-Modelle (wie Dokumenten- oder Graphdatenbanken) gewinnen an Bedeutung, wo Flexibilität wichtiger ist als strenge Strukturen.
Ein gutes Verständnis der Modelle hilft, für jedes Szenario die passende Lösung zu wählen.
