Sie befinden sich hier: Innovator for Database Architects > Datenbankschema erstellen > Im Datenbankdiagramm arbeiten > Denormalisieren und Normalisieren

Denormalisieren und Normalisieren

Denormalisierung wird durch Zusammenführen und Aufteilen von Datenbanktabellen erreicht. Dabei werden die Tabellen entweder über einen Fremdschlüssel zusammengeführt oder Geschwistertabellen mit identischem identifizierenden Schlüssel. Das Aufteilen der Tabelle erfolgt durch Herauslösen von Zeilen oder Spalten.

Einführung

Normalisierung dient dazu, eine redundanzfreie, speicherminimale Datenbasis zu modellieren. Mit der Erstellung eines konzeptionellen Modells in einem Entitäten-Beziehungsmodell (Entity Relationship Model) erreichen Sie leicht die 3. Normalform, wenn Sie transitive oder direkte Abhängigkeiten von Attributen in einer Entität vermeiden. Die 3. Normalform ist der praxisnahe Standard in realen Projekten.

Ein normalisiertes ER-Modell wird durch ein initiales Mapping in ein strukturgleiches Datenbankmodell übertragen, was somit eine ebenfalls normalisierte Datenbasis darstellt. Das Mapping verknüpft dabei die korrespondierenden Elemente (Entität und Tabelle, Attribut und Tabellenspalte) mit Abhängigkeiten.

Wenn aus irgendeinem Grunde denormalisert werden muss, realisieren Sie dies im Datenbankmodell durch Zusammenführen und Aufteilen von Tabellen. Dies kann dazu führen, dass Attribute einer Entität in mehreren Datenbanktabellen abgebildet werden. Ebenso kann eine Datenbanktabelle die Datenbasis für mehrere Entitäten bilden. Durch den Erhalt der Mapping-Abhängigkeiten wird der Zusammenhang zwischen ER-Modell und DB-Modell weiterhin vollständig dokumentiert.

Denormalisieren im Datenbankdiagramm

Sie denormalisieren in Innovator for Database Architects im Datenbankdiagramm.

Zusammenführen von Tabellen über einen Fremdschlüssel zum eindeutigen Schlüssel (Roll Up)

Selektieren Sie die Fremdschlüsselkante, klicken Sie auf die rechte Maustaste und wählen Sie im Kontextmenü Zusammenführen>Zum eindeutigen Schlüssel>Anzahl.

Die Spalten der Fremdschlüsseltabelle werden in die Tabelle mit dem eindeutigen Schlüssel übernommen (ein Satz pro Anzahl des Befehls).

Die verbleibende Tabelle enthält ein Element vom Typ Aufgenommene Tabelle mit dem Merkmal Richtung 'zum Primärschlüssel'.

Die verschobenen Spalten bekommen alle die Null-Eigenschaft 'null'.

Die Spalten des Fremdschlüssels werden zu den jeweiligen Spalten des referenzierten Schlüssels zusammengeführt.

Die Tabelle des Fremdschlüssels wird gelöscht.

Zusammenführen von Tabellen über einen Fremdschlüssel zum Fremdschlüssel (Roll Down)

Selektieren Sie die Fremdschlüsselkante, klicken Sie auf die rechte Maustaste und wählen Sie im Kontextmenü Zusammenführen>Zum Fremdschlüssel.

Die Spalten der Tabelle mit dem referenzierten Schlüssel werden in die Tabelle mit dem Fremdschlüssel übernommen.

Die verbleibende Tabelle enthält ein Element vom Typ Aufgenommene Tabelle mit dem Merkmal Richtung 'zum Fremdschlüssel'.

Die verschobenen Spalten behalten ihre Null-Eigenschaft, es sei denn, dass es ein optionaler Fremdschlüssel war. Wenn Tabellen zu einem optionalen Fremdschlüssel zusammengeführt werden, bekommen alle aufgenommenen Spalten die Null-Eigenschaft 'null'.

Die Spalten des referenzierten Schlüssels werden zu den jeweiligen Spalten des Fremdschlüssels zusammengeführt.

Die Tabelle des eindeutigen Schlüssels wird gelöscht.

Zusammenführen von Geschwistertabellen (Merge)

Selektieren Sie zwei Datenbanktabellen, die je einen mit 'Z' markierten Fremdschlüssel zur selben Tabelle haben, klicken Sie auf die rechte Maustaste und wählen Sie im Kontextmenü Zusammenführen>Geschwistertabellen.

Die Spalten der zweitselektierten Tabelle werden in die erstselektierte Tabelle übernommen. Die verbleibende Tabelle enthält ein Element vom Typ Aufgenommene Tabelle mit dem Merkmal Richtung 'zum Geschwister'. Alle Spalten beider Tabellen bekommen die Null-Eigenschaft 'null'. Die Primärschlüssel werden zu einem verschmolzen. Die zweitselektierte Tabelle wird gelöscht.

Aufteilen einer Tabelle nach Zeilen (Horizontal Split)

Selektieren Sie eine Datenbanktabelle, klicken Sie auf die rechte Maustaste und wählen Sie im Kontextmenü Aufteilen>Zeilen.

Eine Kopie der Tabelle mit identischen Spalten und Fremdschlüssel entsteht. Fremdschlüssel, die die Tabelle vorher referenziert haben, werden zu je zwei optionalen Fremdschlüsseln; einer referenziert die alte Tabelle und einer die neue.

Aufteilen einer Tabelle nach Spalten (Vertical Split)

Selektieren Sie im Abschnittsinhalt der Tabellenspalten einer Datenbanktabelle ein oder mehrere Tabellenspalten, klicken Sie auf die rechte Maustaste und wählen Sie im Kontextmenü Aufteilen>Spalten.

Eine neue Tabelle entsteht, in die die selektierten Spalten verschoben werden. Die neue Tabelle erhält zusätzlich eine Kopie des Primärschlüssels, dessen Spalten gleichzeitig einen Fremdschlüssel auf die alte Tabelle bilden.

 

 

© 1986-2014 MID GmbH Nürnberg Deutschland. DIN EN 9001 zertifiziert. Alle Rechte vorbehalten.