ER-Modell, Normalisierung

Werbung
Lehrplaneinführung Fach Informatik FOS
LF2:Informatische Modelle und Datenbanken
ER-Modell, Normalisierung
ER-Modell
Mit dem Entity-Relationship-Modell kann die grundlegende Tabellen- und Beziehungsstruktur einer Datenbank
strukturiert entworfen und visualisiert werden.
Das fertige ER-Modell kann dann ganz einfach in das Relationen-Modell überführt werden (das RelationenModell ist die tabellarische Darstellung des ER-Modells und die theoretische Grundlage für das relationale
Datenbankmodell), welches fast direkt in Access implementiert werden kann: das fertige Relationen-Modell muss
u.U. einem Normalisierungsprozess unterworfen werden, um Redundanzen und Dateninkonsistenzen zu vermeiden.
Schließlich müssen die Integritätsregeln überprüft werden, ebenfalls um Dateninkonsistenzen zu vermeiden.
Das ER-Modell aufstellen
Begriffsdefinitionen:
Eigenschaften (Attribute) sind die verschiedenen Felder einer Entität bzw. später eines Datensatzes in
Access. Der Wertebereich einer Eigenschaft heißt Domäne.
Eigenschaften werden graphisch durch Rechtecke mit abgerundeten Ecken dargestellt, die mit der zugehörigen
Entität oder Beziehung verbunden sind.
Beispiel: Vorname, Nachname, Personal-Nr eines Mitarbeiters.
Eine Entität kann ein Objekt, eine Person, ein Begriff oder ein Ereignis sein. Entitäten unterscheiden sich
durch ihre jeweiligen Eigenschaften. Später entspricht eine Entität einem Datensatz in Access.
Entitäten werden graphisch durch Rechtecke dargestellt.
Beispiel: Abteilung Forschung, Mitarbeiter Schmitz, Projekt 1009
Entitätsmengen sind Sammlungen von Entitäten mit gleichen Eigenschaften. Eine Entitätsmenge entspricht
später einer Tabelle in Access.
Beispiel: Alle Abteilungen, Alle Mitarbeiter
Beziehungen sind Verknüpfungen von Entitäten. Eine Beziehung ist von einem Beziehungstyp und kann
Eigenschaften haben. Mehrere Beziehungen werden durch die Eigenschaften unterschieden.
Graphisch werden Beziehungen durch Rauten dargestellt, die mit den zugehörigen Entitäten verbunden werden.
Beispiel: Mitarbeiter Schmitz arbeitet an Projekt 1009.
Der Beziehungstyp beschreibt die numerische Zusammenhänge zwischen den einzelnen Elementen einer
Beziehung:
0 Keine Zuordnung
1 genau eine Zuordnung
n, m viele Zuordnungen
Der Beziehungstyp wird in der graphischen Darstellung an den Verbindungslinien der Beziehung notiert.
Beispiel: 1 Abteilung besteht aus n Mitarbeiter,
n Mitarbeiter arbeiten an m Projekten
Beziehungsmengen sind Sammlungen von Beziehungen gleicher Art zur Verknüpfung von Entitätsmengen.
Ein Primärschlüssel ermöglicht die eindeutige Identifizierung einer Entität. Er setzt sich aus einer oder mehreren
Eigenschaften zusammen.
In der graphischen Darstellung werden Primärschlüssel durch Unterstreichung der jeweiligen Eigenschaften
angezeigt.
Damit sind alle Elemente der folgenden graphischen Darstellung definiert:
Lehrplaneinführung Fach Informatik FOS
LF2:Informatische Modelle und Datenbanken
ER-Modell, Normalisierung
Die ER-Modellierung verläuft etwa so:
1. Zu Beginn des Datenbankentwurfs müssen die Entitäten und Entitätsmengen bestimmt werden.
2. Die Beziehungen zwischen den Elementen müssen bestimmt und ihr Typ muss festgelegt werden.
3. Die Eigenschaften zu jedem Element müssen festgelegt werden. Dazu die zugehörigen Domänen.
4. Für jede Entitätsmenge muss ein Primärschlüssel festgelegt werden.
Vom ER-Modell zur relationalen Tabellenstruktur
Dargestellt werden relationale Tabellenstrukturen wie folgt:
TABELLENNAME (Primärschlüssel, Attribut2, Attribut3, ...)
In einer zusätzlichen Liste werden die zugehörigen Domänen notiert. Beziehungen werden durch identische (und
eindeutige) Datenfelddefinitionen in den zugehörigen Tabellen berücksichtigt.
Transformationsschritte vom fertigen ER-Modell in eine relationale Tabellenstruktur:
1. Aus jeder Entitätsmenge kann eine Tabelle mit Name der Entitätsmenge abgeleitet werden.
2. Jede 1:n-Beziehung schlägt sich nieder als identische Datenfelddefinition in den zugehörigen Tabellen.
3. Jede n:m-Beziehung ergibt eine zusätzliche Tabelle, die aus den Primärschlüsseln der zugehörigen Tabellen
im ER-Modell und ggf. weiterer Attribute besteht. Ihr Name muß sinnvoll neu gewählt werden.
4. Jede Beziehung wird im Relationenmodell vermerkt, durch Pfeile oder Text.
Damit ergibt sich aus obigem Beispiel folgende relationale Tabellenstruktur:
ABTEILUNG (Abteilungs-Nr, Bezeichnung)
MITARBEITER (Personal-Nr, Nachname, Vorname, Abteilungs-Nr)
PROJEKTAUSWERTUNG (Projekt-Nr, Personal-Nr, Stunden)
PROJEKT (Projekt-Nr, Beschreibung)
2
Lehrplaneinführung Fach Informatik FOS
LF2:Informatische Modelle und Datenbanken
ER-Modell, Normalisierung
Normalisierung
Relationale Tabellenstrukturen, die aus einem ER-Modell abgeleitet wurden sind immer mindestens in der 2.
Normalform, und es sind nur noch wenige Normalisierungsschritte notwendig, um die optimale 3. Normalform
zu erreichen.
Zuerst jedoch die Definition aller Normalformen und der zugehörigen Transformationsregeln, da ein
Normalisierungsprozess oft auch nach Datenimporten aus anderen Datenbanksystemen notwendig ist:
Das Beispiel aus diesem Abschnitt könnte, z.B. nach einem Datenimport, nicht normalisiert wie folgt vorliegen:
Die 1. Normalform
Regel
Jedem Datenfeld eines Datensatzes darf höchstens ein Wert zugewiesen sein, d.h. es dürfen keine Mehrfacheinträge
in einem Datenfeld vorliegen.
Jeder Datenwert muss durch Schlüsselfelder ermittelt werden können.
Lösung/ Transformation
Mehrfacheinträge auflösen durch Duplizieren des Datensatzes, so dass ein Datensatz für jeden Wert des
Mehrfacheintrages existiert.
Es sind zusätzliche Schlüsselfelder einzufügen.
In der 1. Normalform sieht das Beispiel dann so aus:
Die 1. Normalform weist noch Redundanzen auf und die Tabelle enthält voneinander unabhängige Sachgebiete.
Außerdem können Daten noch nicht eindeutig identifiziert werden.
3
Lehrplaneinführung Fach Informatik FOS
LF2:Informatische Modelle und Datenbanken
ER-Modell, Normalisierung
Die 2. Normalform
Regel
Eine Tabelle enthält nur Daten eines Themen- bzw. Informationsbereiches.
Jedes Nicht-Schlüsselfeld muss durch ein Schlüsselfeld identifizierbar sein.
Lösung/ Transformation
Aufteilung in mehrere Tabellen nach Themen/Informationsgebieten.
Überprüfen und ggf. neue Schlüsselfelder hinzufügen oder zusammengesetzte Schlüssel definieren.
Die 3. Normalform
Die 3. Normalform ist erreicht, wenn alle Datenfelder nur vom gesamten Schlüssel abhängig sind und untereinander
keine Abhängigkeiten auftreten. Sobald ein Nicht-Schlüsselfeld über ein anderes Nicht-Schlüsselfeld identifizierbar
ist, liegt eine transitive Abhängigkeit vor, die ebenfalls Datenredundanz- oder - inkonsistenz verursachen kann. Da
das bisherige Beispiel in der 2. Normalform schon diesen Kriterien genügt, liegt es somit in 3. Normalform vor.
Erweitern wir also die Tabelle Projektauswertung um die Felder Tätigkeit und Stundenlohn:
4
Lehrplaneinführung Fach Informatik FOS
LF2:Informatische Modelle und Datenbanken
ER-Modell, Normalisierung
Regel
Es dürfen keine transitiven Abhängigkeiten vorliegen.
Lösung/ Transformation
Entfernung aller transitiven Abhängigkeiten durch Teilen der Tabelle in mehrere Relationen, in denen alle NichtSchlüsselfelder direkt vom gesamten Schlüsselfeld abhängen.
5
Lehrplaneinführung Fach Informatik FOS
LF2:Informatische Modelle und Datenbanken
ER-Modell, Normalisierung
Integritätsregeln
Integrität auf Datenfeldebene
Durch die Wahl von passenden Datenfeldtypen und durch die Angabe von Gültigkeitsregeln im Tabellenentwurf
von Access sowie durch Nachschlagelisten (z.B. können die möglichen Werte mit Kombinationsfeldern in
Formularen eingegeben werden) kann die Beschränkung auf Werte der zugehörigen Domäne erfolgen.
Integrität auf Datensatzebene
Durch Normalisierungsprozesse ist die Datenintegrität auf Datensatzebene weitgehend sichergestellt.
Integrität auf Beziehungsebene
Eine relationale Beziehung besteht automatisch, wenn die Tabellen nach den Grundsätzen der relationalen
Datenbank erstellt wurden. Das Einfügen oder Löschen von Datensätzen kann zu unerwünschten Ergebnissen
führen, vor allem zu Datensätzen, zu denen die Entsprechenden in einer verknüpften Tabelle fehlen. Wird im
Beispiel Projekt 2 gelöscht, verbleiben dennoch Einträge in der Tabelle Projektauswertung zum gelöschten Projekt.
Eine Problemlösung wird durch referentielle Integrität erreicht. Wenn für eine relationale Beziehung referentielle
Integrität eingerichtet wird, so überprüft das Datenbankprogramm vor dem Einfügen bzw. Ändern von Datensätzen,
ob in den zugehörigen relationalen Beziehungen passende Daten vorhanden sind.
Das Aktivieren der referentiellen Integrität alleine bewirkt schon, dass Datensätze nicht versehentlich geändert
oder gelöscht werden, wenn die Integrität dadurch verletzt würde. Es erfolgen dann Meldungen, und die
durchgeführte Änderung oder Löschung lässt sich nur dann ausführen, wenn zuvor alle verknüpften Daten ebenfalls
geändert bzw. gelöscht wurden.
Folgende zusätzlichen Optionen zur referentiellen Integrität bewirken eine Automatisierung dieser Vorgänge:
„Aktualisierungsweitergabe an Detailfeld“
bewirkt eine automatische analoge Änderung der verknüpften Felder im Detaildatensatz
im Beispiel: würde die Projekt-Nr in der Tabelle Projekte für Projekt 2 auf 7 geändert, wird in allen Datensätzen der
Tabelle Projektauswertung ebenfalls die Projektnummer 2 auf 7 geändert.
„Löschweitergabe an Detaildatensatz“
bewirkt das automatische Löschen von verknüpften Detaildatensätzen
im Beispiel: wird in der Tabelle Projekt das Projekt mit der Projekt-Nr 2 gelöscht, werden in der Tabelle
Projektauswertung alle Datensätze mit Projekt-Nr 2 ebenfalls gelöscht.
6
Herunterladen