Dies ist eine alte Version des Dokuments!
LU04a - Relationale Datenbanksysteme
Grundidee
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 1)), 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.
Zentrale Begriffe
- Entität – ein „Ding“ oder „Objekt“ der realen Welt, das gespeichert wird (z. B. ein Film, ein Kunde, ein Pokémon, eine Bestellung).
- Tabelle – eine Sammlung von Daten über eine Entität (z. B. alle Filme, alle Kunden, alle Bestellungen).
- Datensatz (Record, Tupel) – eine Zeile in der Tabelle (z. B. der Film „The Godfather“, Kundin Hanna).
- Attribut (Feld, Spalte) – eine Eigenschaft der Entität (z. B. Filmtitel, Erscheinungsjahr, Name der Kundin, Email-Adresse der Kundin).
- Primärschlüssel (PK) – eindeutiger Wert, der einen Datensatz identifiziert (z. B. Film-ID, ID der Kundin, ID der Bestellung / Bestellnummer).
- Fremdschlüssel (FK) – verweist auf den Primärschlüssel einer anderen Tabelle → stellt die Beziehung her.
Struktur und Integrität
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).
Operatoren in relationalen DBs
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;
1)
Primärschlüssel: In einer Tabelle ist das ein eindeutiges Merkmal, das jeden Datensatz unterscheidbar macht.
Beispiel: In einer Filmtabelle könnte die ISAN-Nummer (International Standard Audiovisual Number, ähnlich wie ISBN bei Büchern) als Primärschlüssel dienen – sie identifiziert jeden Film weltweit eindeutig, auch wenn mehrere Filme denselben Titel haben.
2)
Quelle: Fabian Rappert/YouTube