Warum brauchen wir so viele Tabellen? Warum schreiben wir nicht alle Daten in eine Tabelle? Welche Vorteile bringt das Aufteilen in mehrere Entitätstypen(Tabellen)?
Erstellt für folgende Datenbank ein ERM mit draw.io. Nutzt zur Darstellung der Entitäten und Attribute folgende Darstellung (Abbildung 1):
Stellt für alle Entitäten die vollständigen Attribute und Beziehungen dar.
Primärschlüssel bitte unterstreichen und Fremdschlüssel durch einen Stern* kennzeichnen.
Beziehungen sind durch Rauten mit einem passenden Verb und der Kartinalität darzustellen.
Regeln
In realen Datenbanken gibt es nur die Kartinalitäten 1 : 1 oder 1 : n. n : m Beziehungen müssen immer mit einer Zwischen-Entität/Tabelle aufgelöst werden.
1 : n Kardinalitäten folgen der Pfeilrichtung. D.h. das befindet sich immer auf der Seite der Pfeilspitze. (siehe Abbildung 2)
Der Primärschlüssel einer Entität wandert in Richtung des Pfeils als Femdschüssel in die andere Entität.
Datenbankbeschreibung
Ein vereinfachtes Entity-Relationship-Modell (ER-Modell) für eine Schülerdatenbank könnte die grundlegenden Entitäten und deren Beziehungen darstellen. Hier ist eine Beschreibung der Hauptentitäten und ihrer Attribute:
Schüler (Schueler)
Attribute:
Schueler_ID (Primärschlüssel)
Vorname
Nachname
Geburtsdatum
Geschlecht
Klasse
Klasse (Klasse)
Attribute:
Klasse_ID (Primärschlüssel)
Klassenname
Jahrgangsstufe
Lehrer (Lehrer)
Attribute:
Lehrer_ID (Primärschlüssel)
Vorname
Nachname
Fach
Fach (Fach)
Attribute:
Fach_ID (Primärschlüssel)
Fachname
Noten (Noten)
Attribute:
Noten_ID (Primärschlüssel)
Note
Prüfungsdatum
Beziehungen:
Schueler_ID (Fremdschlüssel, verweist auf Schueler)
Fach_ID (Fremdschlüssel, verweist auf Fach)
Klassenlehrer (Klassenlehrer)
Attribute:
Klassenlehrer_ID (Primärschlüssel)
Beziehungen:
Klasse_ID (Fremdschlüssel, verweist auf Klasse)
Lehrer_ID (Fremdschlüssel, verweist auf Lehrer)
Beziehungen:
Ein Schüler ist in einer Klasse.
Ein Lehrer unterrichtet mehrere Fächer.
Ein Schüler kann in mehreren Fächern Noten erhalten.
um größere Datenbanken zu planen, gibt es eine grafische Modellierungsmethode, die sich bewährt hat: das Entity-Relationship-Modell.
Schaut euch zunächst das Video zum ER-Modell an:
„Entitäten“(engl. Entity) sind dabei Objekte der Wirklichkeit die wir als Datenmodell abbilden. „Relationen“ sind die Beziehungen zwischen diesen Objekten.
Den Prozess, einen Ausschnitt aus der Wirklichkeit in ein Modell zu überführen, nennt man „Modellierung“.
Die Modellierung erfolgt in für Schritten:
Ermittlung der Entitäten: Identifizieren der Hauptobjekte, über die die Datenbank Informationen speichern soll.
Definition der Attribute: Festlegen der Eigenschaften jeder Entität.
Bestimmung der Beziehungen: Festlegen, wie die Entitäten miteinander verbunden sind.
Ermittlung der Kardinalitäten: Bestimmen, wie viele Entitäten in den Beziehungen miteinander verbunden sind.
Zeichnen des ER-Diagramms: Das Diagramm hilft, das Modell zu visualisieren und sicherzustellen, dass alle Beziehungen korrekt abgebildet sind.
Aufgabe:
Übertragt folgendes Shop-Beispiel in ein ERM nutzt dazu https://app.diagrams.net/ und speichert im entsprechenden Verzeichnis auf eurem Schülerlaufwerk.