Dies ist eine alte Version des Dokuments!
LU08a: Tabellen in Beziehung setzen
Lernziel: Sie können Fremdschlüssel (FOREIGN KEY) definieren, referentielle Integrität erklären und die Referenzaktionen (RESTRICT, CASCADE, SET NULL) an einem Blog-Beispiel testen.
Einführung
In echten Webapps (z. B. WordPress) werden Inhalte auf mehrere Tabellen verteilt: Benutzer (Autoren), Inhalte (Posts), Kategorien/Tags u. a. — das reduziert Redundanzen1) und schützt Datenqualität2).
Wir werden für diese Lerneinheit das Beispiel eines Reise-Blogs verwenden. Ein typisches und weitverbreitetes Bloggingsystem ist WordPress. WordPress setzt, wie unser Kurs auch, auf die RDMBS MySQL oder dessen Weiterentwicklung MariaDB.
Foto von <a href=„https://unsplash.com/@daryadarya_livejournal?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText“>DaryaDarya LiveJournal</a> on <a href=„https://unsplash.com/photos/a-camera-a-book-a-camera-and-some-other-items-on-a-table-w3LbMN_hd50?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText“>Unsplash</a>
Ein Beispiel eines solchen Reiseblogs ist https://wetraveltheworld.de ein erfolgreicher Blog geschrieben von Caro und Martin (Wir sind Caro & Martin und nehmen dich auf unserem Reiseblog WE TRAVEL THE WORLD mit zu den schönsten Reisezielen der Erde. Bei uns findest du Tipps, Tricks und jede Menge Reiseinspiration! Wenn du mehr über uns und unseren Blog erfahren willst starte hier!). Aus technischer Sicht bietet dieser Reiseblog alles was wir zur Veranschaulichung unseres Themas brauchen: Er hat mehrere Autoren: Caro, Martin und Shaolin, Kategorien wie Thailand, Städtereise, Abenteuer etc. und eine Kommentarfunktion pro Post, wo Besucher:innen etwas zum Beitrag schreiben können.
Bildunterschrift
Bildunterschrift
ERD – Chen-Notation
Das ERD in Chen-Notation für diesen Blog könnte so aussehen:
Entitäten: Blog Post, User, Category (Entität Kommentar wurde hier weggelassen - um die Sache nicht zu verkomplizieren.) Anhand dieses Beispiels werden im Folgenden mehrere Tabellen erstellen und in Beziehung setzen. In der darauffolgenden Lerneinheit (LU09) werden wir dann Daten aus mehreren Tabellen abfragen.