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:
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.
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)