Begleitmaterial zum Unterricht M104 «Normalisieren»

Die Normalformen 1-3

1. Motivation zum Thema - Das «Negativbeispiel einer Tabelle/Datenbestand»

Sehr häufig haben Systeme, die aus einer Anforderung heraus gewachsen sind und nicht konzeptionell entwickelt wurden, eine vergleichbare Struktur wie diese Tabelle:

Was kann schief gehen, wenn…

  • … sie die Adresse von Gustav Meier-Senn auf «Im Tobel 18» korrigieren
  • … Walter Morani aus La Cure per heutigem Datum eine neue Rechnung bekommt, weil er die Artikel 4, 6, 2 und 9 gekauft hat
  • … Ida Kuhler alle Artikel der Rechnung Nr. 002 zurückgegeben hat
  • … Walter Morani den Artikel Nummer 9 von der Rechnung Nummer 009 zurückgibt

Notieren sie mögliche Fehlerquellen im Datenbestand, die bei diesen Änderungen entstehen können.

2. Theorie zu Normalisierung erarbeiten

Lernziele:

  • Sie können eine Tabelle so zerlegen, dass das Resultat der 3. Normalform genügt
  • Sie können in OpenOffice Base Tabellen erzeugen und in Beziehung zueinander setzten

Erarbeiten sie die Theorie zu folgenden Themen:

  • Primärschlüssel und Fremdschlüssel
  • Normalisierungsprozess (1.,2. und 3. Normalform

und erstellen sie eine Zusammenfassung. (Sie finden z.B. auf dieser Webseite die entsprechenden Fachbeiträge)

3. Aufgaben zu Normalisierung

3.1 Das «Negativbeispiel einer Tabelle/Datenbestand» verbessern

Teilen Sie die Tabelle aus «Negativbeispiel einer Tabelle/Datenbestand» (siehe 1. Motivation zum Thema - Das «Negativbeispiel einer Tabelle/Datenbestand») so auf, dass keine redundanten Daten mehr abgespeichert sind. Zeichnen sie für ihre Lösung das entsprechende ERD auf und erstellen sie eine Tabellenbeschreibung. Das Excel-Sheet «Negativbeispiel.xlsx» können sie hier herunterladen.

3.2 Autohandel

Ein Autohändler hat seine Verkäufe bisher in einer Excel-Tabelle erfasst. Führen sie in dieser Tabelle eine Normalisierung durch und erstellen sie das ERD und die Tabellenbeschreibung. Das Excel-Sheet «Autohandel.xlsx» können sie hier herunterladen.

(Beachten sie, dass der Opel Manta noch unverkauft im Showroom des Autohändlers steht und der Verkäufer Schenk bisher noch kein Auto verkauft hat. Auch ist nicht klar, ob es sich bei den Verkäufern Schmid und bei den Kunden Meier und Steffen um ein und dieselben Personen handelt)

3.3 Reisebüro

Führen sie in dieser Tabelle eine Normalisierung durch und erstellen sie das ERD und die Tabellenbeschreibung. Beachten sie, dass es möglich ist, Hinflüge ohne Rückflüge zu buchen. Ein Hin- bzw. Rückflug kann sich aus mehreren Teilflügen zusammensetzen. Das Excel-Sheet «Reisebuero.xlsx» können sie hier herunterladen.

(Es sollen später auch noch spezifische Daten zu den einzelnen Flügen verwaltet werden können, wie z.B. Flugzeugtyp, maximale Passagieranzahl etc.)

3.4 Schulbibliothek

Eine Schulbibliothek hat den Wunsch, alle Bücher über eine Datenbank zu verwalten. Dabei interessiert folgendes:

  • Vom Kunden, das ist die Person, die Bücher ausleiht, seinen Name, Vorname, Adresse, PLZ, und Wohnort
  • Bei den Büchern der/die Buchautor(en), Buchtitel, Genre (Themen), ISBN-Nummer, Jahrgang und den Bücherstandort
  • Von den ausgeliehenen Bücher das Ausleihdatum, Rückgabedatum und die Leihgebühr

Jedes Buch wird einem «Genre» (Buchgattung, Thema) zugeordnet, wobei auch Genres erfasst werden können, von welchen noch keine entsprechenden Bücher vorhanden sind. Ein Autor kann mehrere Bücher schreiben, ein Buch aber auch mehrere Autoren haben. Jeder Kunde wird beim Ausleihen und der Rückgabe im System mutiert. Es können vom gleichen Titel mehrere Bücher vorhanden sein.

Auftrag: Entwerfen sie eine geeignete Datenbasis. Zeichnen sie das entsprechende ERD und erstellen sie die Tabellenbeschreibungen. Es dürfen übrigens zu keinem Zeitpunkt Mehrfacheinträge oder Nullwerte vorkommen.

4. Musterlösungen

4.1 Musterlösung «Negativbeispiel einer Tabelle/Datenbestand» verbessern

4.2 Musterlösung «Autohandel»

4.3 Musterlösung «Reisebüro»

4.4 Musterlösung «Schulbibliothek»