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