Datenbankmodelle: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
== Datenbankmodelle ==
Datenbankmodelle beschreiben, '''wie Daten in einem Datenbanksystem strukturiert, gespeichert und miteinander verknüpft''' werden.   
Datenbankmodelle beschreiben, '''wie Daten in einem Datenbanksystem strukturiert, gespeichert und miteinander verknüpft''' werden.   
Sie legen fest, wie Informationen organisiert sind und welche Beziehungen zwischen ihnen bestehen. Verschiedene Modelle eignen sich für unterschiedliche Einsatzgebiete.
Sie legen fest, wie Informationen organisiert sind und welche Beziehungen zwischen ihnen bestehen. Verschiedene Modelle eignen sich für unterschiedliche Einsatzgebiete.


=== Hierarchisches Datenbankmodell ===
== Hierarchisches Datenbankmodell ==
* Daten sind wie ein Stammbaum aufgebaut (Eltern–Kind-Beziehung)   
* Daten sind wie ein Stammbaum aufgebaut (Eltern–Kind-Beziehung)   
* jeder Datensatz hat genau einen übergeordneten Eintrag   
* jeder Datensatz hat genau einen übergeordneten Eintrag   
Zeile 12: Zeile 10:
Beispiel: Dateisystem-Struktur
Beispiel: Dateisystem-Struktur


=== Netzwerkdatenbankmodell ===
== Netzwerkdatenbankmodell ==
* Erweiterung des hierarchischen Modells   
* Erweiterung des hierarchischen Modells   
* ein Datensatz darf mehrere übergeordnete Einträge besitzen   
* ein Datensatz darf mehrere übergeordnete Einträge besitzen   
Zeile 18: Zeile 16:
* historisch bedeutend, heute selten
* historisch bedeutend, heute selten


=== Relationales Datenbankmodell (am weitesten verbreitet) ===
== Relationales Datenbankmodell (am weitesten verbreitet) ==
* Daten werden in '''Tabellen''' gespeichert   
* Daten werden in '''Tabellen''' gespeichert   
* Tabellen sind über '''Schlüssel''' miteinander verknüpft   
* Tabellen sind über '''Schlüssel''' miteinander verknüpft   
Zeile 27: Zeile 25:
Beispiel: Tabellen für Kunden, Bestellungen, Produkte
Beispiel: Tabellen für Kunden, Bestellungen, Produkte


=== Dokumentenorientiertes Datenbankmodell (NoSQL) ===
== Dokumentenorientiertes Datenbankmodell (NoSQL) ==
* speichert Daten als '''Dokumente''' (z. B. [[JSON]], BSON)   
* speichert Daten als '''Dokumente''' (z. B. [[JSON]], BSON)   
* kein festes Tabellenschema   
* kein festes Tabellenschema   
Zeile 36: Zeile 34:
Beispiel: MongoDB
Beispiel: MongoDB


=== Key-Value-Modell (NoSQL) ===
== Key-Value-Modell (NoSQL) ==
* einfachste Form der Datenspeicherung   
* einfachste Form der Datenspeicherung   
* besteht aus '''Schlüssel → Wert'''   
* besteht aus '''Schlüssel → Wert'''   
Zeile 44: Zeile 42:
Beispiel: Redis
Beispiel: Redis


=== Graphdatenbankmodell ===
== Graphdatenbankmodell ==
* speichert Daten als '''Knoten und Kanten'''   
* speichert Daten als '''Knoten und Kanten'''   
* ideal für hochgradig vernetzte Daten   
* ideal für hochgradig vernetzte Daten   
Zeile 51: Zeile 49:
Beispiel: Neo4j
Beispiel: Neo4j


=== Zusammenfassung der Modelle ===
== Zusammenfassung der Modelle ==
{| class="wikitable" style="width:100%; text-align:center;"
{| class="wikitable" style="width:100%; text-align:center;"
! Modell !! Aufbau !! Vorteile !! Nachteile !! Beispielsystem
! Modell !! Aufbau !! Vorteile !! Nachteile !! Beispielsystem
Zeile 59: Zeile 57:
| Netzwerk || Netzwerk/Knoten || flexibler als Baum || sehr komplex || IDMS
| Netzwerk || Netzwerk/Knoten || flexibler als Baum || sehr komplex || IDMS
|-
|-
| Relational || Tabellen || flexibel, stark, SQL || können langsamer skalieren || MySQL, PostgreSQL
| Relational || Tabellen || flexibel, stark, [[SQL]] || können langsamer skalieren || MySQL, PostgreSQL
|-
|-
| Dokumentenorientiert || JSON-Dokumente || flexibel, schemafrei || schwierige Joins || MongoDB
| Dokumentenorientiert || JSON-Dokumente || flexibel, schemafrei || schwierige Joins || MongoDB
Zeile 68: Zeile 66:
|}
|}


=== Kurzmerksatz ===
== Kurzmerksatz ==
'''Datenbankmodelle legen fest, wie Daten strukturiert werden, vom klassischen Tabellenmodell bis zu modernen NoSQL-Ansätzen.'''
'''Datenbankmodelle legen fest, wie Daten strukturiert werden, vom klassischen Tabellenmodell bis zu modernen NoSQL-Ansätzen.'''

Aktuelle Version vom 5. Januar 2026, 15:12 Uhr

Datenbankmodelle beschreiben, wie Daten in einem Datenbanksystem strukturiert, gespeichert und miteinander verknüpft werden. Sie legen fest, wie Informationen organisiert sind und welche Beziehungen zwischen ihnen bestehen. Verschiedene Modelle eignen sich für unterschiedliche Einsatzgebiete.

Hierarchisches Datenbankmodell

  • Daten sind wie ein Stammbaum aufgebaut (Eltern–Kind-Beziehung)
  • jeder Datensatz hat genau einen übergeordneten Eintrag
  • schnelle Zugriffe, aber unflexibel bei komplexen Beziehungen
  • heute kaum noch verwendet

Beispiel: Dateisystem-Struktur

Netzwerkdatenbankmodell

  • Erweiterung des hierarchischen Modells
  • ein Datensatz darf mehrere übergeordnete Einträge besitzen
  • flexibler, aber komplizierte Verwaltung
  • historisch bedeutend, heute selten

Relationales Datenbankmodell (am weitesten verbreitet)

  • Daten werden in Tabellen gespeichert
  • Tabellen sind über Schlüssel miteinander verknüpft
  • ermöglicht flexible Abfragen per SQL
  • starke mathematische Grundlage (Mengenlehre)
  • Standard in Unternehmen, Web-Anwendungen, Softwareentwicklung

Beispiel: Tabellen für Kunden, Bestellungen, Produkte

Dokumentenorientiertes Datenbankmodell (NoSQL)

  • speichert Daten als Dokumente (z. B. JSON, BSON)
  • kein festes Tabellenschema
  • sehr flexibel
  • ideal für unstrukturierte oder stark variierende Daten
  • oft genutzt in modernen Web- und Cloud-Anwendungen

Beispiel: MongoDB

Key-Value-Modell (NoSQL)

  • einfachste Form der Datenspeicherung
  • besteht aus Schlüssel → Wert
  • extrem schnell und skalierbar
  • ideal für Caching, Sessions, Konfigurationsdaten

Beispiel: Redis

Graphdatenbankmodell

  • speichert Daten als Knoten und Kanten
  • ideal für hochgradig vernetzte Daten
  • hervorragend für Social Media, Empfehlungsalgorithmen, Netzwerkstrukturen

Beispiel: Neo4j

Zusammenfassung der Modelle

Modell Aufbau Vorteile Nachteile Beispielsystem
Hierarchisch Baumstruktur schnell, einfach unflexibel IMS
Netzwerk Netzwerk/Knoten flexibler als Baum sehr komplex IDMS
Relational Tabellen flexibel, stark, SQL können langsamer skalieren MySQL, PostgreSQL
Dokumentenorientiert JSON-Dokumente flexibel, schemafrei schwierige Joins MongoDB
Key-Value Schlüssel-Werte extrem schnell keine komplexen Abfragen Redis
Graph Knoten/Kanten ideal für Beziehungen ungeeignet für Tabellen Neo4j

Kurzmerksatz

Datenbankmodelle legen fest, wie Daten strukturiert werden, vom klassischen Tabellenmodell bis zu modernen NoSQL-Ansätzen.