Rückblick
Die Normalisierung ist das Handwerk, mit dem sich ein Entwurf überprüfen lässt. Modellieren beruht auf Erfahrung und Augenmaß – normalisieren dagegen folgt Regeln, die man nachrechnen kann. Deshalb ist sie ein beliebter Prüfungsgegenstand.
Das kann ich jetzt
- Ich kann eine funktionale Abhängigkeit aufschreiben und in Worten erklären, was sie behauptet. (6.1)
- Ich kann volle und partielle Abhängigkeit unterscheiden. (6.1)
- Ich kann prüfen, ob eine Relation in der 1. Normalform ist, und sie hineinbringen. (6.2)
- Ich kann Verstöße gegen die 2. Normalform finden und beseitigen. (6.3)
- Ich kann transitive Abhängigkeiten erkennen und die 3. Normalform herstellen. (6.4)
- Ich kann sagen, was die Normalisierung kostet, und begründen, wann man bewusst davon abweicht. (6.5)
Gemischte Aufgaben
Aufgabe 1: Vom Rohzustand zur dritten Normalform
Ein Musikverlag führt seine Aufnahmen in einer einzigen Relation:
aufnahme(titel_nr, studio, studio_ort, studio_telefon,
interpretin, interpretin_land, instrumente, datum, dauer_sek)
titel_nrist die eindeutige Nummer einer Aufnahme.- In
instrumentestehen alle beteiligten Instrumente durch Kommas getrennt, etwaGitarre, Bass, Schlagzeug. - Ein Studio hat genau einen Ort und eine Telefonnummer.
- Eine Interpretin stammt aus genau einem Land.
- Jede Aufnahme entsteht in genau einem Studio mit genau einer Interpretin.
a) Ist die Relation in der 1. Normalform? Begründe und stelle sie gegebenenfalls her.
b) Schreib alle funktionalen Abhängigkeiten auf, die aus dem Text hervorgehen.
c) Prüfe die 2. Normalform. Begründe deine Antwort mit dem Schlüssel.
d) Prüfe die 3. Normalform. Nenne die transitiven Abhängigkeiten und beseitige sie.
e) Gib das fertige Schema an, mit Primär- und Fremdschlüsseln.
Tipp 1: zu c)
Die 2. Normalform kann nur dann verletzt sein, wenn der Schlüssel zusammengesetzt ist. Sieh dir also zuerst an, woraus der Primärschlüssel dieser Relation besteht – und zieh daraus den Schluss, bevor du zu suchen anfängst.
Tipp 2: zu d)
Eine transitive Abhängigkeit erkennst du an einer Kette:
Schlüssel → A → B
wobei A selbst kein Schlüssel ist. Such nach Attributen, die nicht von der Aufnahme abhängen, sondern von etwas anderem, das seinerseits in der Tabelle steht.
Aufgabe 2: Die Auftrittsliste erklären
Im Übungsbereich liegt die unnormalisierte Tabelle auftrittsliste mit 46 Zeilen – dieselben Auftritte, die in der Klangwiese-Datenbank auf sieben Tabellen verteilt sind.
a) Führe die erste Abfrage aus. Wie oft steht die Angabe zur Bühnenkapazität dort insgesamt, wie oft in der normalisierten Datenbank?
b) Welche Normalform verletzt die Spalte genres? Begründe.
c) Zeige an dieser Tabelle je einen Fall von Einfüge-, Änderungs- und Löschanomalie.
d) Nenne eine Frage, die sich mit auftrittsliste schneller beantworten lässt als mit der normalisierten Datenbank. Begründe.
Aufgabe 3: Beurteilen statt normalisieren
Entscheide für jeden Fall, ob hier ein Verstoß gegen eine Normalform vorliegt, und begründe. Wo keiner vorliegt, sag, warum die Angabe trotzdem doppelt vorkommt.
a) In rechnungsposten stehen menge, einzelpreis und gesamtpreis, wobei der Gesamtpreis das Produkt der beiden anderen ist.
b) In bestellung steht bei jeder Bestellung die Lieferadresse, obwohl die Kundin auch eine Adresse in kundin hat.
c) In mitarbeiterin steht die Abteilungsbezeichnung neben der Abteilungsnummer.
d) In auftritt steht sowohl beginn als auch dauer_min, obwohl sich daraus das Ende berechnen ließe – das aber nicht gespeichert wird.