ER-Modell, relationales Schema und Normalformen
Die Stadtbücherei in Münster führt ihre Ausleihen noch in einer einzigen riesigen Tabelle: Jede Zeile enthält Leser, Adresse, Buch und Autor. Zieht Frau Meyer um, muss ihre Adresse in vielen Zeilen geändert werden – vergisst man eine, widersprechen sich die Daten. Wie entwirft man eine Datenbank so, dass solche Fehler gar nicht erst entstehen?
Vom Sachverhalt zum ER-Modell
Ein ER-Modell (Entity-Relationship-Modell) beschreibt die Daten eines Ausschnitts der Wirklichkeit, bevor irgendeine Tabelle angelegt wird.
Kardinalitäten liest man in beide Richtungen. „Ein Lehrer unterrichtet mehrere Kurse, jeder Kurs hat genau einen Lehrer“ ergibt eine 1:n-Beziehung (ein Lehrer – viele Kurse). „Ein Schüler belegt mehrere Kurse, ein Kurs hat mehrere Schüler“ ergibt eine n:m-Beziehung.
Eine Stadtbücherei in Münster verwaltet Leserinnen und Leser sowie Bücher. Zu jedem Leser werden Leser-Nr., Name und Wohnort gespeichert, zu jedem Buch ISBN, Titel und…
Eine Stadtbücherei in Münster verwaltet Leserinnen und Leser sowie Bücher. Zu jedem Leser werden Leser-Nr., Name und Wohnort gespeichert, zu jedem Buch ISBN, Titel und Autor.
- a) Nennen Sie zwei Entitätstypen und je drei Attribute.
- b) Geben Sie für jeden Entitätstyp ein geeignetes Primärschlüsselattribut an und begründen Sie Ihre Wahl.
In einem ER-Modell stehen die Entitätstypen Lehrer und Kurs. Ein Lehrer unterrichtet mehrere Kurse, jeder Kurs wird von genau einer Lehrkraft unterrichtet. a) Geben Sie…
In einem ER-Modell stehen die Entitätstypen Lehrer und Kurs. Ein Lehrer unterrichtet mehrere Kurse, jeder Kurs wird von genau einer Lehrkraft unterrichtet.
- a) Geben Sie die Kardinalität der Beziehung
unterrichtetin der Notation 1:n bzw. n:m an.
- b) Beschreiben Sie, wie diese Beziehung im relationalen Schema umgesetzt wird (Fremdschlüssel).
Schlüssel und das relationale Schema
Im relationalen Modell wird jeder Entitätstyp zu einer Tabelle (Relation). Ein Schema schreibt man als Tabelle(Attribut1, Attribut2, …) mit unterstrichenem Primärschlüssel; Fremdschlüssel kennzeichnen wir mit Zusatz „FS“.
Der Name ist als Primärschlüssel ungeeignet: Zwei Leser können „Lena Schmidt“ heißen. Deshalb vergibt man künstliche Nummern wie LeserNr oder nutzt natürliche Schlüssel wie die ISBN.
Gegeben ist die Tabelle Schueler(SNr, Name, Klasse, Klassenlehrer) einer Schule in Kassel. a) Erklären Sie den Unterschied zwischen Primärschlüssel und…
Gegeben ist die Tabelle Schueler(SNr, Name, Klasse, Klassenlehrer) einer Schule in Kassel.
- a) Erklären Sie den Unterschied zwischen Primärschlüssel und Sekundärschlüssel.
- b) Nennen Sie ein Attribut, das sich als Sekundärschlüssel (z. B. für einen Index) eignen könnte, und begründen Sie dies.
Ein Sportverein in Leipzig möchte Mitglieder, Trainingsgruppen und Trainer verwalten. Ein Mitglied kann in mehreren Gruppen trainieren, jede Gruppe hat mehrere…
Ein Sportverein in Leipzig möchte Mitglieder, Trainingsgruppen und Trainer verwalten. Ein Mitglied kann in mehreren Gruppen trainieren, jede Gruppe hat mehrere Mitglieder. Jede Gruppe wird von genau einem Trainer geleitet, ein Trainer kann mehrere Gruppen leiten.
- a) Entwerfen Sie ein ER-Modell mit Entitätstypen, Beziehungen und Kardinalitäten.
- b) Überführen Sie das Modell in ein relationales Schema mit Primär- und Fremdschlüsseln. Beachten Sie dabei die n:m-Beziehung.
Redundanz, Anomalien und die 1. Normalform
Die Bücherei-Tabelle vom Anfang speichert dieselbe Adresse vielfach. Das nennt man Redundanz. Sie führt zu Anomalien:
-
Änderungsanomalie: Eine Adresse wird in einer Zeile geändert, in anderen nicht – die Daten sind inkonsistent.
-
Einfügeanomalie: Ein neuer Leser ohne Ausleihe kann nicht eingetragen werden.
-
Löschanomalie: Mit der letzten Ausleihe eines Lesers verschwinden auch seine Stammdaten.
Normalformen sind Kriterien, mit denen man Redundanz systematisch beseitigt.
Gegeben ist die folgende Tabelle einer Pizzeria in Dortmund: Bestellung(BestNr, Kunde, Kundenadresse, Pizza1, Pizza2, Pizza3) a) Begründen Sie, warum die Tabelle die 1.…
Gegeben ist die folgende Tabelle einer Pizzeria in Dortmund:
Bestellung(BestNr, Kunde, Kundenadresse, Pizza1, Pizza2, Pizza3)
- a) Begründen Sie, warum die Tabelle die 1. Normalform verletzt.
- b) Überführen Sie die Tabelle in die 1. Normalform und geben Sie das Schema an.
- c) Nennen Sie zwei Anomalien, die in der ursprünglichen Tabelle auftreten können.
2. und 3. Normalform
Grundlage sind funktionale Abhängigkeiten: $A \to B$ bedeutet, dass der Wert von $A$ den Wert von $B$ eindeutig festlegt. Beispiel: ArtikelNr → Artikelname.
Gegeben ist Auftrag(AuftragNr, ArtikelNr, Artikelname, Menge, Kunde) mit dem zusammengesetzten Primärschlüssel (AuftragNr, ArtikelNr). Es gilt: ArtikelNr → Artikelname…
Gegeben ist Auftrag(AuftragNr, ArtikelNr, Artikelname, Menge, Kunde) mit dem zusammengesetzten Primärschlüssel (AuftragNr, ArtikelNr). Es gilt: ArtikelNr → Artikelname und AuftragNr → Kunde.
- a) Zeigen Sie, dass die Tabelle nicht in 2. Normalform ist.
- b) Zerlegen Sie die Tabelle so, dass die 2. Normalform erfüllt ist.
Gegeben ist Mitarbeiter(MNr, Name, AbtNr, Abteilungsname, Standort) mit Primärschlüssel MNr. Es gilt: AbtNr → Abteilungsname und Abteilungsname → Standort. a) Weisen Sie…
Gegeben ist Mitarbeiter(MNr, Name, AbtNr, Abteilungsname, Standort) mit Primärschlüssel MNr. Es gilt: AbtNr → Abteilungsname und Abteilungsname → Standort.
- a) Weisen Sie nach, dass die Tabelle in 2., aber nicht in 3. Normalform ist.
- b) Zerlegen Sie die Tabelle in die 3. Normalform und geben Sie die Fremdschlüssel an.
- c) Erläutern Sie, welche Änderungsanomalie durch die Zerlegung vermieden wird, anhand eines konkreten Beispiels (Umzug einer Abteilung).
Komplexe Entwürfe: Modell, Schema, Begründung
In Aufgaben wie im Zentralabitur sollst du von einem Text zum Schema in 3. NF kommen und Entscheidungen begründen.
Bei der verlustfreien Zerlegung gilt: Der Verbund über Primär- und Fremdschlüssel liefert genau die ursprünglichen Zeilen, weil die gemeinsamen Attribute (der Fremdschlüssel) in einer der Teiltabellen Schlüssel sind und die funktionalen Abhängigkeiten so eindeutige Zuordnungen sichern.
Ein Krankenhaus in Hamburg speichert Patienten, Ärzte, Stationen und Behandlungen. Eine Behandlung verbindet genau einen Patienten mit genau einem Arzt an einem Datum…
Ein Krankenhaus in Hamburg speichert Patienten, Ärzte, Stationen und Behandlungen. Eine Behandlung verbindet genau einen Patienten mit genau einem Arzt an einem Datum und hat eine Diagnose. Ein Patient liegt zu einem Zeitpunkt auf höchstens einer Station.
- a) Modellieren Sie die Situation als ER-Diagramm (in Textform) mit Kardinalitäten. Begründen Sie, ob
Behandlungals Entitätstyp oder als Beziehung modelliert wird.
- b) Leiten Sie das relationale Schema in 3. Normalform her.
- c) Begründen Sie, warum (PatientNr, ArztNr) allein kein geeigneter Primärschlüssel von
Behandlungist.
Eine Tabelle Kurswahl(SNr, Name, KursNr, Kursname, Lehrer, Raum) einer Schule enthält folgende Abhängigkeiten: SNr → Name; KursNr → Kursname, Lehrer; Lehrer → Raum. a)…
Eine Tabelle Kurswahl(SNr, Name, KursNr, Kursname, Lehrer, Raum) einer Schule enthält folgende Abhängigkeiten: SNr → Name; KursNr → Kursname, Lehrer; Lehrer → Raum.
- a) Bestimmen Sie den Primärschlüssel und begründen Sie Ihre Wahl.
- b) Prüfen Sie schrittweise 1., 2. und 3. Normalform.
- c) Geben Sie ein Schema in 3. Normalform an und begründen Sie, dass sich die ursprüngliche Tabelle durch einen Verbund verlustfrei rekonstruieren lässt.
Zurück zum Anfang: In der Bücherei steht die Adresse nach der Zerlegung nur noch einmal in Leser. Ein Umzug ändert genau eine Zeile – Widersprüche können nicht entstehen.
Auf einen Blick
-
Ein ER-Modell besteht aus Entitätstypen, Attributen, Beziehungstypen und Kardinalitäten (1:1, 1:n, n:m).
-
Überführung: Entitätstyp → Tabelle; 1:n → Fremdschlüssel auf der n-Seite; n:m → Zuordnungstabelle mit zusammengesetztem Primärschlüssel.
-
Primärschlüssel identifiziert eindeutig, Fremdschlüssel verweist auf eine andere Tabelle, Sekundärschlüssel unterstützt die Suche.
-
1. NF: atomare Werte. 2. NF: keine Abhängigkeit von einem Teil des Schlüssels. 3. NF: keine transitive Abhängigkeit.
-
Redundanz führt zu Änderungs-, Einfüge- und Löschanomalien; Normalisierung vermeidet sie.
-
Zerlegungen müssen verlustfrei sein (Verbund ergibt die Ausgangstabelle).
-
Operatoren: nennen, erläutern, überführen, prüfen, begründen.