Datenbankmodelle: Unterschied zwischen den Versionen

Aus FI-Wiki
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
== Datenbankmodelle ==
== 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.


Zeile 19: Zeile 19:


=== 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   
* ermöglicht flexible Abfragen per SQL   
* ermöglicht flexible Abfragen per [[SQL]]  
* starke mathematische Grundlage (Mengenlehre)   
* starke mathematische Grundlage (Mengenlehre)   
* Standard in Unternehmen, Web-Anwendungen, Softwareentwicklung
* Standard in Unternehmen, Web-Anwendungen, Softwareentwicklung
Zeile 28: Zeile 28:


=== 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   
* sehr flexibel   
* sehr flexibel   
Zeile 45: Zeile 45:


=== 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   
* hervorragend für Social Media, Empfehlungsalgorithmen, Netzwerkstrukturen
* hervorragend für Social Media, Empfehlungsalgorithmen, Netzwerkstrukturen
Zeile 59: Zeile 59:
| 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

Aktuelle Version vom 30. November 2025, 10:52 Uhr

Datenbankmodelle

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.