Logisches Datenmodellieren ist ein mechanischer Prozess, bei dem das ERD des konzeptionellen Datenmodellierens an die relationale Datenbank angepasst wird. Dabei werden Entitäten, Attribute und Beziehungen mithilfe von Mapping-Regeln in Tabellen, Spalten und PK/FK umgewandelt.
Durch die Behandlung von 1:1-, 1:N- und N:M-Beziehungen werden die Beziehungen zwischen Tabellen dargestellt. Dabei wird eine Zwischentabelle verwendet, um N:M-Beziehungen zu behandeln.
Die Normalisierung ist ein Prozess, der Tabellen für relationale Datenbanken optimiert. Sie erfolgt schrittweise von 1NF über 2NF bis 3NF, um partielle und transitive Abhängigkeiten zu beseitigen.
Im Vergleich zur Anforderungsanalyse und der konzeptionellen Datenmodellierung ist die logische Datenmodellierung ein eher mechanischer Prozess.
Der Hauptteil besteht darin, das ERD, das Ergebnis der konzeptionellen Datenmodellierung, basierend auf den Mapping-Regeln in das relationale Datenbankparadigma zu transformieren.
Mapping-Regeln
Rechteckige Entitäten werden in Tabellen umgewandelt.
Kreisförmige Attribute werden in Spalten umgewandelt.
Beziehungen werden in Primärschlüssel (PK) oder Fremdschlüssel (FK) umgewandelt.
Zuerst ist es einfacher, Tabellen ohne FK darzustellen.
Beziehungen
Die Beziehung zwischen Tabellen wird unter Berücksichtigung der Kardinalität und Optionalität ausgedrückt.
Die Darstellung erfolgt in der Reihenfolge der einfachsten Beziehung, der 1:1-Beziehung, gefolgt von der 1:N-Beziehung und der N:M-Beziehung.
Verarbeitung von 1:1-Beziehungen
Bei 1:1-Beziehungen wird die Abhängigkeitsbeziehung zwischen den beiden Tabellen geprüft und der FK gesetzt.
Sie können als übergeordnete und untergeordnete Tabelle betrachtet werden.
Verarbeitung von 1:N-Beziehungen
Bei 1:N-Beziehungen referenziert 1 N, daher wird der FK in N gesetzt.
Verarbeitung von N:M-Beziehungen
Um eine N:M-Beziehung in einer relationalen Datenbank zu verarbeiten, wird eine Zwischentabelle (auch als Mapping-Tabelle oder Verbindungstabelle bezeichnet) erstellt und dargestellt.
Wichtig ist dabei, dass die Kardinalität und Optionalität beider Tabellen, auf die von der Mapping-Tabelle Bezug genommen wird, ausgedrückt werden.
Normalisierung
Wikipedia - Datenbanknormalisierung
Dies ist der Prozess, bei dem eine unraffinierte Tabelle in eine Form gebracht wird, die für relationale Datenbanken geeignet ist.
Der in der Industrie verwendete Normalisierungsprozess umfasst die 3. Normalform, während die nachfolgenden Normalisierungsstufen hauptsächlich in der Wissenschaft verwendet werden.
Die Normalisierung sollte schrittweise, Schritt für Schritt, durchgeführt werden.
Erste Normalform (1NF)
Die in einer Tabelle enthaltenen Spalten dürfen nur atomare Werte enthalten.
Wenn man sich das Grundprinzip der ersten Normalform ansieht, ist es zwar schwer zu verstehen, aber es bedeutet einfach, dass jede Spalte nur einen Wert enthalten darf.
Wenn mehrere Werte in einer Spalte enthalten sind, d. h. sie ist nicht atomar, kann dies zu Problemen bei der Verwendung von SQL-Anweisungen zum Joinen führen und verschiedene Probleme verursachen.
Zweite Normalform (2NF)
Die erste Normalform muss erfüllt sein.
Partielle Abhängigkeiten müssen entfernt werden.
Wenn es in den Zeilen einer Tabelle redundante Werte gibt, wird die Spalte, von der die Zeile abhängt, identifiziert und getrennt.
Dritte Normalform (3NF)
Die erste Normalform muss erfüllt sein.
Die zweite Normalform muss erfüllt sein.
Transitive Abhängigkeiten müssen entfernt werden.
Der Begriff der transitiven Abhängigkeit ist sehr schwer zu verstehen. Meiner Meinung nach bedeutet dies, dass, wenn es in einer bestimmten Tabelle einen oder mehrere Werte gibt, die implizit den Bezeichner einer anderen Tabelle darstellen (FKs sind natürlich ausgeschlossen), dies als transitive Abhängigkeit bezeichnet wird.