Dies ist eine alte Version des Dokuments!


LU03a - Relationale Datenbanken

  • Ich kann mindestens drei Vorteile für den Einsatz einer Datenbank nennen.
  • Ich kann die Begriffe Relation, Tupel, Attribut und Attributwert erklären und einer Tabelle zuordnen.
  • Ich kann erklären, wozu Primär- und Fremdschlüssel dienen.
  • Ich kann drei bekannte relationale Datenbankmanagementsysteme nennen.
  • Ich kann erklären, worin sich relationale und NoSQL-Datenbanken unterscheiden und wann welche eingesetzt wird.

Datenbanken haben sich als fester Bestandteil von IT-Landschaften etabliert. Sie spielen eine wesentliche Rolle, wo immer Software-Applikationen zum Einsatz kommen und auf eine gemeinsame Datenbasis zugreifen.

  • Eine Datenbank ermöglicht die dauerhafte, zentrale Speicherung von Daten und kann diese eigenständig verwalten.
  • Der Einsatz von Datenbanken verhindert Redundanzen 1) und Inkonsistenzen 2). Zudem wird die Programm-Daten-Abhängigkeit 3) aufgelöst, da alle Programme eine zentrale Datenbasis verwenden.
  • DBMS bieten eine Vielzahl von Datenanalyse-Methoden zur Auswertung von Informationen. SQL stellt Funktionen zur Berechnung, Aggregation und Sortierung der Daten zur Verfügung.
  • Datenbankmanagementsysteme (DBMS) sind abfrageoptimiert und können Daten in einem Bruchteil der Zeit auslesen, die andere Dateiformate (z.B. Excel, CSV) benötigen.

Das relationale Modell wurde 1970 von Edgar F. Codd beschrieben; die ersten kommerziellen relationalen Datenbanksysteme kamen Ende der 1970er-Jahre auf den Markt. Seither haben sie sich zum De-facto-Standard für die Verwaltung strukturierter Daten entwickelt und sind heute die am weitesten verbreitete Form von Datenbanksystemen.

Relationale Datenbanken speichern Informationen in Tabellen (tables). Tabellen bestehen aus Zeilen (rows, auch Tupel/tuples genannt) und Spalten (columns, auch Attribute/attributes genannt).

  • Eine Zeile (Tupel) steht für einen vollständigen Datensatz, zum Beispiel einen Kunden oder eine Bestellung.
  • Eine Spalte (Attribut) beschreibt eine bestimmte Eigenschaft dieses Datensatzes, zum Beispiel den Namen oder die E-Mail-Adresse eines Kunden.
  • Ein einzelner Eintrag in einer Zelle ist ein Attributwert (attribute value).

Der Begriff Relation stammt aus der Mathematik und ist die Grundlage relationaler Datenbanken. Eine Relation ist nichts anderes als eine Tabelle mit Daten einer bestimmten Art (z.B. Kunden, Bestellungen). Der Name „relational“ ergibt sich daraus, dass Tabellen miteinander in Beziehung (relation) gesetzt werden können.

Tabellen können über Schlüssel verknüpft werden:

  • Ein Primärschlüssel (primary key) identifiziert jede Zeile in einer Tabelle eindeutig.
  • Ein Fremdschlüssel (foreign key) verweist auf den Primärschlüssel einer anderen Tabelle.

Zwei verknüpfte Tabellen: Kunden und Bestellungen mit Primär- und Fremdschlüssel

In der Grafik sehen Sie zwei Tabellen:

  • In der Tabelle „Kunden“ repräsentiert jede Zeile einen Kunden. Die Spalten enthalten Merkmale wie Name und E-Mail-Adresse. Jeder Kunde hat eine eindeutige ID – das ist der Primärschlüssel.
  • In der Tabelle „Bestellungen“ repräsentiert jede Zeile eine Bestellung. Die Spalte customer_id ist der Fremdschlüssel: Sie enthält die ID desjenigen Kunden, der die Bestellung getätigt hat.

So lässt sich jede Bestellung eindeutig einem Kunden zuordnen: Die Bestellung mit der `customer_id` 1 (toothbrush) gehört zu Hanna, weil Hanna in der Kundentabelle die `ID` 1 hat.

Beachten Sie: Miriam (ID 3) taucht in der Bestellungstabelle dreimal auf. Ein Kunde kann also mehrere Bestellungen haben – eine Bestellung gehört aber immer zu genau einem Kunden. Solche Beziehungen schauen wir uns in der nächsten Lerneinheit genauer an.

  • MySQL
  • MariaDB
  • PostgreSQL
  • SQLite
  • IBM DB2
  • Oracle Database
  • Microsoft SQL Server

MySQL, MariaDB, PostgreSQL und SQLite sind frei nutzbare, Open-Source-Datenbanksysteme. Besonders MySQL (und MariaDB, ein Fork von MySQL) sind weit verbreitet und kommen häufig in Webanwendungen zum Einsatz – beispielsweise nutzt WordPress MySQL bzw. MariaDB.

SQL ist standardisiert – trotzdem haben verschiedene Datenbankanbieter eigene Erweiterungen oder Dialekte entwickelt, z.B. T-SQL (Transact-SQL) von Microsoft oder PL/SQL (Procedural Language/SQL) von Oracle. Die Grundbefehle (`SELECT`, `INSERT`, `UPDATE`, `DELETE`) funktionieren aber überall gleich.


Dieses Video erklärt den Aufbau von relationalen Datenbanken.4)
Nutzen Sie die automatische Untertitel-Übersetzung von YouTube, wenn die englische Sprache Verständnisschwierigkeiten bereitet.

NoSQL steht heute meist für „Not only SQL“ – es geht also nicht darum, SQL abzulehnen, sondern um Datenbanken, die Daten anders als in Tabellen ablegen.

NoSQL-Datenbanken werden vor allem verwendet, wenn Daten in einer unstrukturierten oder wenig strukturierten Form gespeichert werden müssen. Sie wurden im Zusammenhang mit dem Big-Data-Hype populär und ermöglichen es, grosse Datenmengen schnell zu speichern und auszuwerten. Konsistenz und Aktualität der Daten stehen dabei oft weniger im Fokus als Geschwindigkeit.

Statt einer festen Tabellenstruktur speichert eine Dokumenten-Datenbank (z.B. MongoDB) jeden Datensatz als eigenes Dokument – meist im JSON-Format:

{
  "name": "Hanna",
  "email": "h.m@muster.com",
  "bestellungen": ["toothbrush"],
  "newsletter": true
}

Der entscheidende Unterschied: Ein anderes Dokument in derselben Datenbank darf ganz andere Felder haben. In einer relationalen Tabelle müssten alle Zeilen dieselben Spalten besitzen.

  • MongoDB
  • Redis
  • Apache Cassandra


In diesem Video wird erklärt, was mit Big Data gemeint ist. Schauen Sie nur bis Min. 03:00.

  • Relationale Datenbanken wurden zum Standard, weil sie Datenintegrität, Nachvollziehbarkeit und Unabhängigkeit von einzelnen Programmen garantieren. Ein weiterer historischer Grund war die damals teure Speicherkapazität: Durch das Vermeiden von Redundanzen wurde Speicherplatz gespart.
  • Relationale Datenbanken sind aufgrund von Integritätsprüfungen und Normalisierungen weniger gut geeignet für das sehr schnelle Speichern sehr grosser Datenmengen. Dafür bieten NoSQL-Datenbanken eine bessere Lösung, da sie auf schnelle Verarbeitung ohne hohe Integritätsanforderungen optimiert sind.
  • Relationale Datenbanken sind nach wie vor unverzichtbar, wenn es auf Genauigkeit, Integrität, Aktualität und Nachvollziehbarkeit ankommt. Typische Anwendungsfälle sind Transaktionssysteme wie Webshops, Online-Banking und Buchungssysteme.
Kriterium Relationale Datenbank NoSQL-Datenbank
Struktur feste Tabellen mit gleichen Spalten flexible Dokumente/Strukturen
Stärke Genauigkeit, Integrität, Beziehungen Geschwindigkeit, grosse Datenmengen
Typischer Einsatz Webshop, Banking, Buchungen Sensordaten, Logs, Social-Media-Feeds
Abfragesprache SQL herstellerabhängig

1)
Ohne Datenbank kommt es schnell zu mehrfachen Datensätzen, z.B. ein Kunde in mehreren Excel-Listen unterschiedlicher Abteilungen. Mit einer zentralen Datenbank wird jeder Kunde nur einmal gespeichert – alle greifen auf denselben Datensatz zu.
2)
Wenn dieselbe Information mehrfach gespeichert wird, können Abweichungen entstehen – z.B. wird die Adresse eines Kunden nur in einer Datei geändert, aber nicht in der anderen. Mit einer zentralen Datenbank gibt es nur eine Datenquelle und damit keine widersprüchlichen Angaben.
3)
Früher hatten Programme eigene Datenbestände, die gepflegt werden mussten. Änderungen in der Datenstruktur erforderten oft Programmänderungen. Mit einem Datenbankmanagementsystem (DBMS) werden die Daten getrennt von der Logik verwaltet. Mehrere Programme können so dieselben Daten nutzen, ohne sie selbst speichern zu müssen.
4)
IBM Technology: Relational vs. Non-Relational Databases
  • de/modul/m290_guko/learningunits/lu03/theorie/a_relational_dbs.1788121374.txt.gz
  • Zuletzt geändert: 2026/08/30 22:22
  • von gkoch