Entity-Relationship-Diagramm

Die Modellierung einer Datenbank durchläuft drei Entwurfsphasen:

1. Der konzeptionelle Entwurf

Unabhängig vom verwendeten Datenbanksystem muss eine möglichst realitätstreue Abbildung der vorliegenden Aufgabe erfolgen. Das Datenbanksystem kann nur Auswertungen mit eingegebenen Daten vornehmen. In einer Anforderungsanalyse muss festgelegt werden, was zu speichern ist und wie die Daten zu bearbeiten sind. In einem Entity-Relationship-Diagramm werden die Daten mit ihren Eigenschaften, Beziehungen und Abhängigkeiten dargestellt.

2. Der logische Entwurf

Das konzeptionelle Schema wird in das Datenmodel des DBS als relationales Modell umgesetzt. Es erfolgt eine Normalisierung der Tabellen. Daraus kann durch Erweiterungen oder Änderungen des relationalen Schemas eine Optimierung erfolgen.

3. Der physische Entwurf

Hier wird die konkrete Datenbank auf dem Rechner umgesetzt. Es erfolgt die Festlegung der Speicherstrukturen, der Zugriffsmechanismen und der Zugriffsrechte. Anschließend müssen die Grunddaten eingegeben werden.

In der Darstellung des ERD werden die folgenden drei Symbole verwendet:

ERM

U1: Bibliothek (komplexes Beispiel)

Es sollen alle Bücher der Schule in einer Datenbank erfasst werden. Im Moment gibt es Bücher in der Lehrerbibliothek, in der Schülerbibliothek und im Ausleihzentrum. Darüber hinaus existieren in den einzelnen Fachschaften kleine Büchereien. Es gibt Einzelexemplare und Bücher in größerer Stückzahl. Folgende Angaben über ein Buch sollen gespeichert werden: Autor, Titel, Themengebiet, Ort der Aufbewahrung, Ausleihstatus (Präsenz, übers Wochenende, vier Wochen, Schuljahr, Oberstufe), Erscheinungsjahr, Verlag, Stichworte (bis zu 20 pro Buch), Kurzbeschreibung. Eine Suche soll nach Themengebiet, Autor, Titel und Stichwort möglich sein. Weiterhin soll mit dieser Datenbank die Ausleihe im Ausleihzentrum organisiert werden. Dazu sollen die Ausleiher erfasst werden (Schüler und Lehrer) mit Namen und Vornamen, bei den Schülern außerdem Klasse und Tutor. Auf die Adresse kann verzichtet werden, da alle Schüler und Lehrer in der Schule erreichbar sind. In Sonderfällen kann man die Adresse im Sekretariat erfragen. Lehrer und Schüler können mehrere Bücher ausleihen. Die meisten Bücher sind schon mit einer Inventarnummer versehen (11-stellige Zahl, Beispiel: 20120321001. Die ersten vier Ziffern geben die Jahreszahl und die nächsten vier den Monat und den Tag der Inventarisierung an. Die letzten drei Ziffern werden fortlaufend vergeben.) Es muss möglich sein, neue Entleiher zu erfassen, bzw. alte zu löschen. Entleih- und Rückgabevorgänge müssen durchgeführt werden können. Das Programm soll ausgeben können: Entleiher eines bestimmten Buchtyps, alle entliehenen Bücher eines bestimmten Entleihers, Mahnungen an alle Entleiher, die ihre Frist überschritten haben. Für die Bücher in den Fachbibliotheken ist es nicht notwendig, Signaturen zu speichern, da keine Ausleihe von der zu entwickelnden Software durchgeführt werden soll. Bei diesen Büchern reicht es, neben den allgemeinen Angaben und dem Standort die Anzahl der maximal vorhandenen Exemplare einzugeben, damit der Sucher eine Vorstellung hat, wo und wie oft das Buch vorhanden ist.
Im Folgenden soll ein ER-Modell für die Buchausleihe entwickelt werden. Aus diesem Modell werden dann die eigentlichen Tabellen abgeleitet. Bei der Modellierung geht es darum, geeignete Entitäten zu definieren und mit notwendigen Attributen zu versehen. Beginnen wir mit den Ausleihern. Es sollten Name, Vorname, Status, Klasse und Tutor gespeichert werden. Um Schwierigkeiten bei gleichen Nachnamen aus dem Weg zu gehen, wird der Schlüssel AusleiherNr. eingefügt.
Laut Vorgabe können Bücher wie z.B. der Rechtschreibeduden sowohl in einzelnen Fachbibliotheken wie auch in der Lehrer- oder Schülerbibliothek vorkommen. In allen Fällen ist es aber der Rechtschreibeduden. Die Attribute ISBN-Nummer, Verlag usw. sind bei allen Exemplaren identisch. Es ist deshalb sinnvoll, eine Entität Buch zu definieren, von dem die Entität Ausleihbuch mit dem Attributen Ausleihzeit und InventarNr und die Entität SonstigesExemplar mit den Attributen Ort und Anzahl mittels einer IS-A-Beziehung abgeleitet wird. Zwischen Ausleihbuch und Ausleiher besteht die Beziehung hat_ausgeliehen und dem Attribut Ausleihdatum.
Ein Stichwort kann nicht nur in einem Buch vorkommen. Deshalb wird eine Entität Stichwort gebildet, die die beiden Attribute StichwortNr und Stichwort hat. Zur Entität Buch steht sie in Verbindung über die Beziehung kommt_vor_in.

ERMBibilothek

 

Komplexität von Beziehungen

Die Entitäten stehen untereinander in Beziehung. Drei Beziehungstypen spielen eine wichtige Rolle:

1. die 1 : 1 Beziehung

Bei dieser Beziehung ist genau eine Entität einer anderen Entität zugeordnet, z.B. hat jede Person einen Personalausweis und ein Personalausweis ist genau einer Person zugeordnet.

2. die 1 : n Beziehung

Jeder Entität der einen Menge sind mehrere Entitäten der anderen Menge zugeordnet. Ein Mitarbeiter arbeitet in einer Abteilung, eine Abteilung hat aber mehrere Mitarbeiter.

3. die n : m Beziehung

Einer Entität der Menge A können mehrere Entitäten der Menge B zugeordnet werden bzw. umgekehrt. Ein Lehrer arbeitet in mehreren Schulen, in einer Schule arbeiten mehrere Lehrer.

Die Ableitung des relationalen Datenbankschemas aus dem ERM erfolgt nach bestimmten Grundregeln:
1. Jede Entitätsmenge muss sich in einer eigenen Tabelle widerspiegeln. Es muss ein Primärschlüssel festgelegt werden.
2. Jede Beziehungsmenge kann als eigenständige Tabelle definiert werden. Dabei müssen die Primärschlüssel beider Entitätsmengen als Fremdschlüssel in dieser Tabelle enthalten sein.
Der Primärschlüssel der Beziehungsmengentabelle kann entweder aus der Kombination der beiden Schlüssel aus den Entitätsmengen gebildet werden oder es wird ein weiteres Schlüsselattribut verwendet. Eine strenge Anwendung dieser Grundregeln kann u. U. zu einer großen Anzahl von Tabellen führen. In Abhängigkeit vom konkreten Sachverhalt ist es mitunter nicht erforderlich, aus jeder Beziehungsmenge eine separate Tabelle abzuleiten. Es hat sich in der Praxis als sinnvoll erwiesen, die Repräsentation von Beziehungsmengen nach dem Beziehungstyp zu differenzieren.
1:1 Beziehung:  Bei der 1:1 Beziehung erfolgt die Darstellung der Beziehung durch Aufnahme des Primärschlüssels der einen Tabelle in die andere Tabelle.
1:n Beziehung: Auch bei der 1:n Beziehung kann auf eine eigenständige Tabelle verzichtet werden. Die Darstellung der Beziehungsmenge erfolgt durch Aufnahme des Primärschlüssels aus der "1"-Assoziation in die Tabelle mit der "n"-Assoziation.
n:m Beziehung: Für die n:m Beziehung ist die Erstellung einer separaten Tabelle zwingend. Dabei müssen mindestens die Primärschlüssel beider Entitätsmengen als Fremdschlüssel in der Beziehungstabelle auftreten. Der Primärschlüssel der Beziehungstabelle kann aus der Kombination beider Fremdschlüssel bestehen. Es kann auch ein anderer (ggf. künstlicher Schlüssel) als Primärschlüssel eingeführt werden.

U2: Heizungsfirma

Eine Heizungsfirma (Heiß & Kalt) verwaltet ihre Daten in einer Datenbank. Es werden alle Kunden, die bei dieser Firma eine Heizungsanlage gekauft haben, erfasst sowie die jeweilige installierte Anlage. Die Firma Heiß & Kalt, bzw. ein durch sie beauftragter Subunternehmer, betreut und wartet außerdem eine Reihe Heizungsanlagen, die von anderen Heizungsfirmen verkauft und installiert worden sind.
Diese Datenbank umfasst die folgenden Entitätsmengen einschließlich der in Klammern angegebenen Merkmale:
- KUNDEN (Kdnr, Kname, Kvorname, Kplz, Kort, Kstrasse)
- ANLAGEN (Anlnr, Inst_datum, Preis, W_vertrag)
- TYPEN (Typnr, Typbez, Leistung, Energieträger)
- SUBUNTERNEHMER (Firma, Ansprechp, Plz, Ort, Strasse)
- MITARBEITER (Name, Vorname, Steuerkl, Gehalt, Status, Krankenkasse, Stundenlohn)

ERM3