Qualifikationsphase 1
Im Folgenden soll eine
Datenbank für eine Buchausleihe modelliert werden. Es gelten die
folgenden Vorgaben:
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.
Das ER-Modell:
Das ER-Diagramm unserer Bücherei-Verwaltung muss in eine
relationale Datenbank umgesetzt werden. Die n:m-Beziehung
zwischen Buch und Stichwort muss durch eine Beziehungs-Relation
in zwei obligatorische 1:n-Beziehungen aufgelöst werden.
Zwischen Ausleihern und Status besteht eine 1 : n Beziehung.
Sachbücher werden oft von mehr als einem Autor geschrieben. Um
auch diese Autoren zu finden, wird die Eigenschaft Autor aus der
Entität Buch entfernt und in eine eigene Entität umgewandelt.
Zwischen Buch und Ausleihbuch und zwischen Buch und SonstigesBuch
besteht ebenfalls eine 1 : n Beziehung. Eine
Interselektionstabelle ist nicht nötig. Die Beziehung "wird
ausgeliehen" enthält ein eigenes Attribut. Deshalb wird hier die
Tabelle Ausleihe erstellt.
Die Umsetzung im relationalen Modell hat folgendes Aussehen:
Buch (ISBN, Titel,
Erscheinungsjahr, Verlag, Thema, Kurzbeschreibung)
Autor (AutorenNr, BuchNr, Autor)
Ausleihbuch (InventarNr, BuchNr,
Ausleihzeit)
Stichwort (StichwortNr,
Stichwort)
Ausleiher (AusleiherNr, Name,
Vorname, Status)
KommtVorIn (BuchNr, StichwortNr)
SonstigesExemplar (ID, BuchNr,
Ort, Anzahl)
Ausleihe (ID, AusleiherNr,
InventarNr, Ausleihdatum)
Status (Klasse, Tutor)
