Dies ist eine alte Version des Dokuments!


LU04a - Relationale Datenbanksysteme

  • Ich kann erklären, was eine relationale Datenbank ist und warum sie in fast allen Webanwendungen genutzt wird.
  • Ich kenne die wichtigsten Bausteine einer relationalen Datenbank (Tabellen, Datensätze, Attribute, Schlüssel, Beziehungen).

Eine relationale Datenbank (RDB) ist eine Methode, Daten in Tabellen zu speichern und zu organisieren. Die Tabellen sind miteinander verknüpft – daher „relational“.

Beispiel:

  • Eine Tabelle Kunden mit ID (Primärschlüssel), Name und Email-Adresse.
  • Eine Tabelle Bestellungen mit Bestellnummer (id), Produkt welches bestellt wurde und einer Spalte „customer_id“ ⇒ Fremdschlüssel, welcher die Verbindung zur Tabelle Kunden herstellt.
  • Über die Verbindung im Fremdschlüssel können wir herausfinden, welcher Kunde die Bestellung aufgegeben hat.
  • Entität – ein „Ding“ oder „Objekt“ der realen Welt, das gespeichert wird (z. B. ein Film, ein Kunde, ein Pokémon).
  • Tabelle – eine Sammlung von Daten über eine Entität (z. B. alle Filme).
  • Datensatz (Record, Tupel) – eine Zeile in der Tabelle (z. B. der Film „The Godfather“).
  • Attribut (Feld, Spalte) – eine Eigenschaft der Entität (z. B. Filmtitel, Erscheinungsjahr).
  • Primärschlüssel (PK) – eindeutiger Wert, der einen Datensatz identifiziert (z. B. Film-ID).
  • Fremdschlüssel (FK) – verweist auf den Primärschlüssel einer anderen Tabelle → stellt die Beziehung her.

Damit Daten korrekt und konsistent bleiben, gibt es Regeln:

  • Entity Integrity – Jede Tabelle braucht einen Primärschlüssel (kein NULL erlaubt).
  • Referentielle Integrität – Fremdschlüssel müssen auf existierende Primärschlüssel verweisen.
  • Domain Integrity – Werte müssen zum definierten Datentyp passen (z. B. eine Zahl darf kein Text sein).

Ein Datenbankmodell beschreibt nicht nur die Struktur, sondern auch die erlaubten Operationen. In SQL gibt es drei Hauptgruppen:

  • DDL (Data Definition Language) → Tabellen und Strukturen anlegen

Beispiel:

CREATE TABLE movies (...)
  • DML (Data Manipulation Language) → Daten einfügen, ändern, löschen

Beispiel:

INSERT INTO movies VALUES (...)
  • DQL (Data Query Language) → Daten abfragen

Beispiel:

SELECT * FROM movies;
  • modul/m290_guko/learningunits/lu03/theorie/a_einleitung.1756645813.txt.gz
  • Zuletzt geändert: 2025/08/31 15:10
  • von gkoch