Grundlagen

Geschätzte Lektüre: 4 Minuten 190 Ansichten

Das Fundament: Was ist eine Datenbank?

Eine Datenbank ist ein organisiertes System zur elektronischen Verwaltung von Daten. Sie dient der dauerhaften Speicherung, dem effizienten Zugriff und der konsistenten Pflege von Informationen.

Wir unterscheiden verschiedene Arten von Datenbanksystemen. In der Praxis weit verbreitetste Typ ist das relationale Datenbankmanagementsystem (RDBMS). Beispiele hierfür sind MySQL, PostgreSQL oder MariaDB. In der Umgebung wollen wir hier mit MySQL, das über MAMP bereitgestellt wird.

Der Begriff „relational“ leitet sich vom zugrundeliegenden Modell ab, bei dem Daten in Tabellen (Relationen) organisiert werden, die über gemeinsame Merkmale miteinander in Beziehung stehen.


Das relationale Modell: Tabellen, Zeilen und Spalten

Stellen Sie sich eine Datenbank als eine Sammlung von Tabellen vor. Jede Tabelle repräsentiert einen bestimmten Entitätstyp – also eine Sache oder ein Konzept, über das wir Daten speichern wollen.

  • Tabellen (Relations): Die Struktur, die Daten zu einem bestimmten Thema zusammenfasst. Eine Tabelle hat einen eindeutigen Namen.
  • Spalten (Columns / Attribute): Jede Spalte definiert eine bestimmte Eigenschaft der Entität. Sie hat einen Namen und einen Datentyp (z. B. INT für ganze Zahlen, VARCHAR für Text, DATE für Datumsangaben).
  • Zeilen (Rows / Tupel): Jede Zeile repräsentiert einen konkreten Datensatz. Eine Zeile ist eine vollständige Instanz der durch die Spalten definierten Eigenschaften.

Beispiel: Wir möchten eine Datenbank für eine Bibliothek erstellen. Die Entität „Buch“ würde in einer Tabelle buecher abgebildet.

id (INT)titel (VARCHAR / TEXT)autor (VARCHAR / TEXT)jahr (INT)
1„Eine kurze Geschichte der Zeit“Stephen Hawking1988
2„Der Schwarm“Frank Schätzing2004

Jede Spalte hat einen festgelegten Datentyp. Die Zeilen enthalten die konkreten Informationen zu zwei Büchern.


Beziehungen herstellen: Primär- und Fremdschlüssel

Die Stärke relationaler Datenbanken liegt in der Abbildung von Beziehungen zwischen Tabellen. Dazu werden zwei zentrale Konzepte verwendet.

Primärschlüssel (Primary Key)

Ein Primärschlüssel ist eine Spalte (oder eine Kombination mehrerer Spalten), die jede Zeile einer Tabelle eindeutig identifiziert. Es kann in einer Tabelle nur einen Primärschlüssel geben. Seine Eigenschaften sind:

  • Eindeutigkeit: Kein Wert kommt doppelt vor.
  • Nicht-Null: Jede Zeile muss einen Wert für den Primärschlüssel haben.

In unserem Bibliotheksbeispiel ist die Spalte id der Primärschlüssel. Selbst wenn zwei Bücher denselben Titel haben, besitzt jedes eine eindeutige ID.

Fremdschlüssel (Foreign Key)

Ein Fremdschlüssel ist eine Spalte in einer Tabelle, die auf den Primärschlüssel einer anderen Tabelle verweist. Er dient dazu, Beziehungen zwischen Tabellen zu definieren und die sogenannte referenzielle Integrität sicherzustellen – d. h., es können keine verwaisten Datensätze entstehen.

Erweiterung des Beispiels: In unserer Bibliothek leihen Nutzer:innen Bücher aus. Dazu führen wir eine Tabelle nutzer und eine Tabelle ausleihen ein.

  • Tabelle nutzer:
    • id (Primärschlüssel) – Eindeutige Nutzer-ID
    • name – Name der Person
  • Tabelle ausleihen: Diese Tabelle bildet die Beziehung zwischen Nutzer:innen und Büchern ab.
    • id (Primärschlüssel) – Eindeutige Ausleih-ID
    • nutzer_id (Fremdschlüssel, verweist auf nutzer.id)
    • buch_id (Fremdschlüssel, verweist auf buecher.id)
    • ausleihdatum

Ein Fremdschlüssel nutzer_id mit dem Wert 2 würde bedeuten, dass dieser Ausleih-Vorgang zur Nutzerin bzw. zum Nutzer mit der ID 2 gehört. Die Datenbank kann so automatisch sicherstellen, dass nur existierende Nutzer:innen und Bücher in der Ausleihtabelle eingetragen werden.


Dieses Dokument teilen

Grundlagen

Oder Link kopieren

INHALT

Abonnieren

×
Cancel