Ziel der Normalisierung?
Das Ziel der Normalisierung ist, dass Daten redundanzfrei gespeichert werden. Um dies zu erreichen, werden im Normalisierungsprozess schrittweise feste Regeln angewendet, um die Struktur einfacher und geordneter zu gestalten. chat_bubble_outline Wenn eine Datenbank schlecht aufgebaut ist, wird es die Pflege und Weiterentwicklung deutlich erschweren.
Beispiel
Nehmen wir beispielsweise diesen Auszug aus einer Tabelle mit Reparaturaufträgen in einer Werkstatt, in der mehrere Mechaniker arbeiten:
Tabelle: Aufträge
Datum | Kennzeichen | Automarke | Modell | KdNr. | Kunde | MNr. | Mechaniker | Dienstleistungen | Beendet |
---|---|---|---|---|---|---|---|---|---|
16.3.2018 | MK:KI 163 | Volvo | 850 | K101 | Kiwits | M01 | Meinecke | D801: Scheinwerfer reparieren, D401: Bremsen kontrollieren |
Ja |
4.5.2018 | MS:KU 458 | Ford | Mondeo | K102 | Kurze | M02 | Münz | D106: Ausbeulen | Ja |
5.5.2018 | DO:KL 558 | VW | Golf | K103 | Klein | M02 | Münz | D408: Batterie wechseln | Nein |
8.6.2018 | MK:KI 163 | Volvo | 750 | K101 | Kiwits | M03 | Maler | D402: Bremsen erneuern | Nein |
9.6.2018 | MK:KL 96 | Opel | Astra | K103 | Klein | M03 | Maler | D002: Ölwechsel | Nein |
Probleme dieser Tabelle
Dies ist eine Tabelle, wie man sie sich gut im Archiv der Werkstatt vorstellen kann. Allerdings können mit dieser Relation einige Probleme entstehen:
Nicht zugelassener Datentyp: Der erste Auftrag besteht aus zwei Positionen. Nehmen wir an, die Mechanikerin repariert den Scheinwerfer, macht dann aber Feierabend und will den Rest morgen erledigen. Sie hat aber keine Möglichkeit, in der Tabelle zu erfassen, dass (nur) eine der beiden Positionen erfüllt ist. chat_bubble_outline
Einfügeanomalie: Man kann erkennen, dass der Kunde Kiwits seine Bremsen in einem neuen Auftrag erneuern lässt, nachdem sie einige Monate zuvor kontrolliert wurden. Allerdings scheint der Kunde nun mit einem neuen Auto mit exakt dem selben Kennzeichen angekommen zu sein. Wahrscheinlicher ist, dass einer der Mechaniker sich beim Modell vertan hat. chat_bubble_outline
Änderungsanomalie: Nehmen wir an, der Mechaniker Münz heiratet und nimmt den Namen seiner Frau an. Im Sinne der korrekten Datenhaltung müsste man nun alle Aufträge durchgehen und seinen Namen ändern. Ansonsten wüsste eine neue Kollegin nicht, wer Aufträge bearbeitet hat, falls das Auto noch einmal in der Werkstatt sein sollte. chat_bubble_outline
Löschanomalie: Angenommen, Mitarbeiter Münz will gerade eine neue Batterie in den Golf einsetzen, bemerkt dann aber, dass sich nur ein Kontakt gelöst hatte. Als ehrlicher Mitarbeiter informiert er den Kunden sofort und will den Auftrag stornieren. Er kann die Zeile allerdings nicht einfach löschen, ohne dass auch die Informationen über diesen Neukunden verloren gehen. chat_bubble_outline
Um diese Probleme zu beheben, werden wir nun nach und nach diese Tabelle normalisieren.
chevron_right Erste Normalform