Normalisierung von Datenbanken – von der flachen Tabelle zur 3NF, mit ER-Diagramm
InformatikDateien, Speicher und DatenbankenAlter 16–17
Wird geladen …
Zum Starten anmeldenBeginnen Sie mit einer flachen Tabelle voller wiederholter Daten, lösen Sie Änderungs-, Einfüge- und Löschanomalien aus und gehen Sie Schritt für Schritt zur 1NF, 2NF und 3NF: Die Tabelle wird zerlegt, Primär- und Fremdschlüssel erscheinen, partielle und transitive Abhängigkeiten verschwinden. Ein Entity-Relationship-Diagramm (ER) in Krähenfußnotation ändert sich bei jedem Schritt, ein Diagramm zählt gespeicherte Werte und wiederholte Kopien, und eine SQL-Abfrage mit JOIN setzt die ursprünglichen Zeilen wieder zusammen und zeigt, dass keine Information verloren ging.
Lektion: Entwurf relationaler Datenbanken: funktionale Abhängigkeiten, Normalisierung in 1NF, 2NF und 3NF, Anomalien, ER-Diagramme und 1:1-, 1:n- und m:n-Beziehungen
Was sie zeigt
Eine flache Tabelle, die alles an einer Stelle speichert, wiederholt dieselben Fakten oft: Eine Änderung muss in mehreren Zeilen erfolgen (Änderungsanomalie), ein neuer Fakt kann erst gespeichert werden, wenn ein Datensatz ihn nutzt (Einfügeanomalie), und das Löschen eines Datensatzes kann fremde Fakten zerstören (Löschanomalie). Die Normalisierung zerlegt die Tabelle schrittweise: Die 1NF entfernt Wiederholungsgruppen, die 2NF partielle Abhängigkeiten von einem Teil eines zusammengesetzten Schlüssels, die 3NF transitive Abhängigkeiten zwischen Nichtschlüsselspalten. Fremdschlüssel verbinden die Tabellen, JOINs setzen die Zeilen verlustfrei wieder zusammen.
So funktioniert es
Wählen Sie den Datensatz und die Anzahl der Datensätze, dann klicken Sie auf 1NF, 2NF und 3NF (oder Zurück und Weiter), um die Zerlegung zu verfolgen. Aktivieren Sie Abhängigkeiten, um zu sehen, welche Abhängigkeit welche Normalform verletzt. Wählen Sie eine Anomalie und klicken Sie auf Ausprobieren, um Daten zu ändern, einzufügen oder zu löschen; Rückgängig stellt sie wieder her. Schalten Sie das ER-Diagramm zwischen Logisch und Konzeptuell um, tippen Sie auf eine Entität, um ihre Tabelle hervorzuheben, und nutzen Sie Filter für die Abfrage eines Datensatzes.
Einstellbare Parameter
- Datensatz Bestellungen eines Ladens, Kursbelegungen von Schülern
- Normalisierungsschritt Nicht normalisiert (UNF), Erste Normalform (1NF), Zweite Normalform (2NF), Dritte Normalform (3NF)
- Anzahl der Datensätze (Bestellungen oder Schüler) 3–8 Datensätze
- Zu testende Anomalie Keine, Änderungsanomalie, Einfügeanomalie, Löschanomalie
- Ebene des ER-Diagramms Logisch (mit Zwischentabelle), Konzeptuell (m:n-Beziehung)
- Funktionale Abhängigkeiten anzeigen
Fragen zum Erkunden
- Warum enthält die Tabelle in 1NF mehr wiederholte Kopien derselben Fakten als die nicht normalisierte Tabelle?
- Warum lässt sich in der 2NF ein neuer Kunde, der noch nichts bestellt hat, immer noch nicht speichern?
- Warum muss die m:n-Beziehung zwischen Bestellungen und Artikeln durch eine Zwischentabelle ersetzt werden?