Datenbankdesign, Normalisierung und Integrität
"Redundanz reduzieren und Regeln in der Datenbank ausdrücken."
Konzepte verständlich erklärt (für Einsteiger jeden Alters)
Lernziele
Redundanz reduzieren und Regeln in der Datenbank ausdrücken. Nach dieser Lektion kannst du das Konzept erklären, ein kleines Beispiel umsetzen und typische Grenzen benennen.
Erklärung
Normalisierung trennt Fakten, die unabhängig geändert werden. Constraints wie NOT NULL, UNIQUE, CHECK und Fremdschlüssel sichern Invarianten nahe an den Daten. Eine Transaktion fasst zusammengehörige Änderungen als Einheit zusammen.
Schrittweises Beispiel
Speichere Kundendaten einmal in customers und referenziere sie aus vielen Bestellungen. Bei zwei zusammengehörigen Updates gilt: beide committen oder beide zurückrollen.
schema = "CREATE TABLE authors (id INTEGER PRIMARY KEY, name TEXT NOT NULL);\nCREATE TABLE books (id INTEGER PRIMARY KEY, author_id INTEGER NOT NULL REFERENCES authors(id), title TEXT NOT NULL);"
print(schema)
Zusammenfassung
Integrität gehört sowohl in Anwendungslogik als auch in deklarative Datenbankregeln.
Lerncheck & Übung
Etwa 35 Minuten · intermediate
Das lernst du
- Erkläre die Kernidee von „Datenbankdesign, Normalisierung und Integrität“ in eigenen Worten.
- Wähle eine passende Technik für einen konkreten Anwendungsfall.
- Erkenne mindestens eine typische Fehlerquelle.
Voraussetzungen
- Keine Zugriffsvoraussetzungen. Vorwissen wird in der Erklärung eingeführt.
Häufige Fehler
- App-Validierung ersetzt keinen Datenbank-Constraint, da andere Clients schreiben können. Zu starke Normalisierung kann Abfragen komplizierter machen; messe echte Anforderungen.
Wissenscheck
Praktische Aufgabe
Skizziere Tabellen `authors` und `books` mit Fremdschlüssel für viele Bücher pro Autor.
Die Aufgabe entwirft SQL-Abfragen. In dieser Plattform ist keine SQL-Laufzeit aktiviert; der Editor führt eine harmlose Python-Darstellung aus und sendet SQL nicht an eine Datenbank.
Quellen und Einordnung
Prüfe meine Erklärung zu „Datenbankdesign, Normalisierung und Integrität“: Nenne eine fehlende Annahme und stelle mir eine Gegenfrage.
Interaktive Übung & lokaler Testlauf
Skizziere Tabellen `authors` und `books` mit Fremdschlüssel für viele Bücher pro Autor.
Hinweise auf Wunsch anzeigen
- Zerlege die Aufgabe in Eingabe, Verarbeitung und erwartete Ausgabe.
- Prüfe auch einen leeren oder ungültigen Fall.