Академический Документы
Профессиональный Документы
Культура Документы
Fachbereich Wirtschaftswissenschaften
SEMINARARBEIT
„RELATIONALES DATENBANKDESIGN“
Zu dem Seminar
Sommersemester 2001
Inhalt
EINLEITUNG / PROBLEMSTELLUNG........................................................................................................... 4
2
RELATIONALES DATENBANKDESIGN
Datenbankrechte.......................................................................................................................................... 38
Tabellenrechte ............................................................................................................................................. 38
DEFINITION VON SICHTEN ................................................................................................................................. 39
Sichten & Datenschutz................................................................................................................................. 39
SCHLUSSBEMERKUNG .................................................................................................................................. 41
ABKÜRZUNGSVERZEICHNIS ....................................................................................................................... 42
QUELLEN ........................................................................................................................................................... 45
3
RELATIONALES DATENBANKDESIGN
Einleitung / Problemstellung
Relationale Datenbankmanagementsysteme sind schon seit über zwei Jahrzehnten die
führenden Datenbanksysteme1. Ursache für ihren Erfolg ist ihre Fähigkeit, eine hohe
Leistungsfähigkeit mit einer einfachen Handhabung zu kombinieren – selbst der Anfänger
kann mit ihnen intuitiv funktionsfähige Datenbanken erstellen2.
Relationale Datenbanken erlauben es, eine flexible und offene Informationsbasis zur
Verfügung zu stellen, und machen so komplexe Anwendungssysteme (wie z.B.
Bibliotheksverwaltungen oder PPS-Systeme) überhaupt erst möglich.
Der Umfang und die immer komplexer werdenden Abhängigkeiten der Daten voneinander
erzwangen eine computerunterstützte Verwaltung und Bereitstellung3. Wesentliche Aufgabe
der EDV war es dabei, Daten schnell, zu jeder Zeit, aktuell, bedarfsgerecht aufbereitet und
gleichzeitig für verschiedene Nutzer zur Verfügung zu stellen.
Jedoch ist eine Datenbasis immer nur so gut wie ihr struktureller und funktionaler Aufbau,
und die zunehmende Integration der verschiedenen Informationssysteme (nicht nur im
betriebliche Bereich) hat die Qualität der Datenorganisation stärker als bisher in den
Vordergrund treten lassen. Beispielsweise hat sich herausgestellt, dass die Kosten in der
Einsatzphase einer Datenbank die (an sich schon nicht geringen) Kosten für den Entwurf
und die Implementierung einer Datenbank bei weitem übertreffen.
Aus diesen Gründen ist ein systematischer Ansatz beim Umgang mit Daten zwingend
notwendig und auch in der Praxis längst allgemeingültiger Standard6.
Mit diesem systematischen Ansatz will sich diese Hausarbeit beschäftigen.
1
Allerdings kündigt sich ihre allmähliche Absetzung durch objektorientierte Datenbanksysteme an.
Diese dürfte allerdings noch einige Zeit dauern, und kann auch nicht Gegenstand meiner Hausarbeit
sein. Für weitere Informationen zu Objektorientierten Datenbanken siehe Vossen (1995) S. 336-389
und S. 577-601.
2
Es sei an die vielen mit MS Access oder ähnlichen Einbenutzersystemen realisierten Anwendungen
erinnert.
3
Vgl. Hald / Nevermann 1995, S. 1
4
Vgl. Heinrich 1992, S. 32
5
Heinrich 1992, S. 176
6
Hinzu kommen noch Performance-Anforderungen. Diese sollen bei meinen Ausführungen
ausgeklammert bleiben, da eine Behandlung zum einen den Rahmen sprengen würde; zum anderen
ist das Ziel nach Performance anderen Zielen entgegengesetzt, so daß eine Behandlung in einer
einführenden Schrift wie dieser eher verwirren würde.
4
RELATIONALES DATENBANKDESIGN
Systeme der 3. Generation hatten bereits eine erste Form von Datenunabhängigkeit.
Sie führten eine erste Unterscheidung zwischen logischen und physischen Informationen;
auch zeichneten sie sich durch eine zunehmende Verwaltung der Daten aus (im Gegensatz
zu deren reiner Verarbeitung). Erstmalig wurden Datenmodelle9 benutzt (wie das
hierarchische Datenmodell und das Netzwerkdatenmodell10).
Systeme der 4. Generation (die bis heute aktuell sind) basieren auf dem einfachen
relationalen Modell, und verfügen über einen hohen Grad an physischer
Datenunabhängigkeit. Das bedeutet, dass Änderungen der physischen Organisation der
Daten keine Auswirkungen auf angebundene Anwendungssysteme haben.
7
Vgl. hierzu und im folgenden: Vossen (1994), S. 4 f.
8
siehe Hansen (1996), S. 869
9
Ein Datenmodell beschreibt auf abstrakter Ebene einen gegebenen Ausschnitt aus der Realwelt, z.B.
einer Bibliothek . Da der Begriff "Datenmodell" eigentlich in mehreren Bereichen der Informatik
genutzt wird, müsste es eigentlich korrekterweise "Datenbankmodell" heißen, wenn von einem
Datenmodell für eine Datenbank die Rede ist (vgl. hierzu Vossen 1994, S. 22).
10
Für nähere Informationen zu den beiden Modellen siehe Hald/Nevermann (1995) S. 28-34
5
RELATIONALES DATENBANKDESIGN
11
Für nähere Informationen zu den postrelationalen Systemen siehe Kemper (1996) S. 311 ff. sowie
S. 355 ff.
12
Vgl. hierzu und im Folgenden: Heinrich (1992), S. 40 ff.
6
RELATIONALES DATENBANKDESIGN
Aufgaben waren nicht vorhanden, sodass die individuellen Bedürfnisse der Benutzer eine
große Rolle spielten.
Es stand nicht mehr der technische Aspekt, nicht mehr die bloße Unterstützung von
Informations- und Kommunikationsprozessen im Vordergrund; sondern vielmehr die
gewachsenen Möglichkeiten der IuK-Technologie zur Schaffung neuer Erfolgspotentiale.
Beispiele hierfür sind:
• Die Unterstützung der Produktentwicklung durch CAD-Technologien
• Die Veränderung von Produktionsweisen und Produktionsprozessen durch PPS-Systeme
• Die Unterstützung der Entscheidungsfindung durch „Executive Information Systems“
(Führungsinformationssysteme)17.
13
Vgl. Hierzu und im Folgenden: Heinrich (1992), S. 43 ff.
14
Vgl. Hansen (1997), S. 114
15
Vgl. Heinrich (1992), S. 11
16
Vgl. Heinrich (1992), S. 176
17
Vgl. Link (1996), S. 151-152 sowie Link (1996) S. 182 f.
7
RELATIONALES DATENBANKDESIGN
18
Heinrich (1992), S. 7
19
Vgl. Heinrich (1992), S. 11
20
Vgl. Heinrich (1992), S. 19
21
Vgl. Heinrich (1992), S. 20-21
22
Heinrich versteht unter einer Architektur eine Gliederung und Struktur, die sowohl durch ihren
Gegenstand (z.B. Daten, Anwendungssysteme oder Technologien), als auch durch ihre Sichtweise
(z.B. Benutzersicht, Entwicklersicht) gekennzeichnet ist.
23
Heinrich (1992), S. 176
24
Vgl. Heinrich (1992), S. 177
8
RELATIONALES DATENBANKDESIGN
Generelle Sachziele
Strategische Aufgaben
Strategische Situationsanalyse
Strategische Zielplanung
Strategie-Entwicklung
Strategische Maßnahmenplanung
Administrative Aufgaben
Projektmanagement
Datenmanagement
Datenanalyse + Datenbankentwurf
Anwendungssystem-Management
Technologiemanagement
Personalmanagement
Benutzerservice
Sicherheitsmanagement
Katastrophenmanagement
Operative Aufgaben
Produktionsmanagement
Problemmanagement
Doch auch ohne ein explizites Informationsmanagement lässt sich auf den Einsatz von
Datenbanksystemen nicht verzichten, da ansonsten Redundanzen25, Inkonsistenzen26,
Datenverlust, Integritätsverletzungen, Sicherheitsprobleme sowie ein unverhältnismäßig
hoher Wartungs- und Änderungsaufwand auftreten werden.
Insgesamt sind von Datenbanksystemen folgende Anforderungen zu erfüllen:
• Gewährleistung kurzer Zugriffszeiten
• Gewährleistung der leichten Aktualisierbarkeit der Daten
• Gewährleistung beliebiger Auswertbarkeit der Daten
• Gewährleistung von Unabhängigkeit und Flexibilität (z.B. gegenüber den AWS)
• Gewährleistung der Datenintegrität (Korrektheit und Vollständigkeit)
• Gewährleistung der Datensicherheit (Schutz vor Datenverlust)
• Gewährleistung des Datenschutzes (Schutz vertraulicher Daten vor unbefugtem Zugriff)
• Gewährleistung der Effizienz
• Gewährleistung der Transaktionssicherheit27
25
Redundanz ist die mehrfache Speicherung desselben Sachverhalts.
26
Widersprüche zwischen den verwalteten Daten
27
Transaktionen sind logisch zusammengehörende Aktionen, die Operationen auf die gemeinsam
gespeicherten Daten ausführen (Hansen 1996, S. 963). Ein Beispiel wäre eine Ab- und
Gegenbuchung auf einem Bankkonto.
9
RELATIONALES DATENBANKDESIGN
Die Datenbank umfasst sowohl die eigentlichen Nutzdaten für Anwender des
DBMS
Datenbank
Datenbanksystems, wie auch die Daten zur Verwaltung und Steuerung des Systems.
28
Vg. Hald/Nevermann (1995), S. 2
29
Vg. Hald/Nevermann (1995), S. 2
10
RELATIONALES DATENBANKDESIGN
Internes
Schema
DATENVISUALISIERUNG
konzeptuelles
Schema
ANFRAGEBEARBEITUNG
Externe
Schemata
Das interne Schema beschreibt die Ebene der physischen Datenorganisation, also die
Anordnung der Daten auf peripheren Speichern und die Zugriffspfadgestaltung33.
Im Laufe Zeit hat sich herausgestellt, dass sich im Interesse wartungsärmerer und
konsistenterer Systeme möglichst wenig Anwendungsmodule mit den Details der
physikalischen Speicherung beschäftigen sollten.
30
Vgl. hierzu und im folgenden: Vossen 1994, S. 24 – 26
31
Standards Planning and Requirements Comitee (SPARC)
32
American Standards Comitee on Computers and Information Processing, www.ansi.org
33
Vgl. Hansen (1996), S. 954
11
RELATIONALES DATENBANKDESIGN
Aus deren Sicht ist eine möglichst abstrakte, problemorientierte (d.h. auf ihre Erfordernisse
möglichst gut angepasste) Sicht der Daten wünschenswert – also letztlich verschiedene
Sichten auf meist identische Daten.
Beispielsweise erwartet ein Student von dem Informationssystem seiner
Universitätsbibliothek eine bequeme, menübasierte Suche nach unterschiedlichen Kriterien
(wie z.B. Schlagwort, Titel, Autor), während ihn andere Informationen gar nicht interessieren,
und ihm sogar der Zugriff auf diese verweigert wird (z.B. die Information, wer sich gerade ein
bestimmtes Buch ausgeliehen hat).
Da nach außen hin beliebig viele externe Schemata (auch „Views“ genannt) zur Verfügung
gestellt werden können, lässt sich eine Datenbank beliebigen Erfordernissen anpassen.
Folglich benötigt man eine Zwischenschicht, in welcher die Beschaffenheit der gesamten
Daten beschrieben wird, sowie eine Beschreibung, wie sich die einzelnen Benutzersichten
aus dem Gesamtmodell ableiten.
Das sogenannte konzeptuelle Schema beschreibt die Gesamtstruktur und
Integritätsbedingungen; also die vollständige Datenbank, befreit von den
Speicherungsdetails der physischen Sicht auf einer abstrakten, system- und
modellunabhängigen Ebene35.
In Erweiterung der Drei-Schichten-Architektur hat sich die Einführung einer weiteren Ebene
bewährt – der logische Ebene. Sie umfasst die Implementierung des auf der konzeptionellen
Ebene definierten abstrakten Modells für ein bestimmtes Datenbanksystem; sie ist also
datenbankabhängig. Grundlage für die Implementierung bildet hierbei die DDL des jeweiligen
Datenbanksystems36.
34
Vgl. Hansen (1996), S. 953
35
Vgl. Hald/ Nevermann (1995), S. 5 ff.
36
Vgl. Hald/Nevermann (1995), S. 6.
Der Vollständigkeit halber muss allerdings gesagt werden, dass die logische Ebene und damit der
logischer Entwurf durchaus unterschiedlich definiert werden.
Während Hald/Nevermann unter der logischen Ebene die datenbankabhängige Implementierung
des abstrakten, konzeptionellen Modells für ein bestimmtes DBS verstehen, fassen andere Autoren
(wie z.B. Heuer/Saake) die logische Ebene als "idealisierte" Form des DB-Modells des Zielsystems
auf.) Das heißt, dass die logische Ebene Modellierungskonzepte des Zielsystems enthält, aber auf
systemspezifische Feinheiten verzichtet. Also wäre ein logisches Modell nach Heuer/Saake
beispielsweise ein relationales Modell, welches allerdings nicht auf ein spezielles RDBMS (wie z.B.
ORACLE) angepasst ist. Die Anpassung auf ein spezielles RDBMS muss gesondert erfolgen, und
bietet den Vorteil, dass ein so erstellter logischer Entwurf für verschiedene Systeme verwendet
werden kann.
12
RELATIONALES DATENBANKDESIGN
Mathematisch ist eine Relation eine Teilmenge eines kartesischen Produkts aus den
Domänen von n Attributen39.
R ⊆ D1 x … x Dn
Eine Domäne (oder Wertebereich) ist eine Menge der verschiedenen Ausprägungen, die ein
Attribut annehmen kann
kartesisches
Produkt
Domänen Dozent#, Name Relation
Dozent# Name 001, Hermes Dozent#, Name
002, Hermes
001
002 X
Hermes
Winand = 003, Hermes
⊇ 001, Hermes
002, Winand
003 Link 001, Winand 003, Link
002, Winand
usw. …
Praktisch kann man sich eine Relation als Tabelle vorstellen, welche folgende Bedingungen
erfüllt40:
1. Die Tabelle hat eine fest definierte Anzahl von Spalten. Die Reihenfolge der Spalten liegt fest.
2. Jede Spalte hat einen eindeutigen Namen und einen festliegenden Typ.
3. Die Tabelle besitzt beliebig viele Zeilen. Jede Zeile hält sich in Aufbau und Inhalt an die
Spaltendefinition. Insbesondere ist jeder Spaltenwert einer Zelle elementar, d.h. genau ein
Wert des Spaltentyps.
4. Keine Zeile tritt doppelt auf.
5. Die Reihenfolge der Zeilen ist unerheblich für die Operationen in der Tabelle.
37
Ein Datenbankschema ist eine Beschreibung des strukturellen Aufbaus einer Datenbank.
38
Codd, E.: „A relational Modell for large shared data banks“. In: Communications of the ACM, Band
13, Nr. 6, S. 377-387, Juni 1970
39
Vgl. hierzu Hald / Nevermann (1995) S. 25-27
40
Vgl. hierzu Roeing (1996) S. 63
13
RELATIONALES DATENBANKDESIGN
Die erste Zeile gibt jeweils die Struktur einer Tabelle an, das sogenannte Relationenschema.
Attribute
Relationenschema
Dozenten_Nr Name_Dozent Fachgebiet Gehalt_Monat
(Tabellenstruktur)
11545211 Vahrenkamp 04 9.000,00 DM
12145123 Hünerberg, Reinhard 03 9.000,00 DM Relation
12345678 Link, Jörg 02 9.000,00 DM (Sämtliche
15595225 Winand, Udo 07 9.000,00 DM Tupel Tabelleneinträg
23115566 Hellstern, Michael 01 9.000,00 DM
23222212 Mack, Eduard 06 9.000,00 DM
41
Vgl. hierzu Hald/Nevermann (1995), S. 68-71.
Aus Gründen der Anschaulichkeit wurden einige Regeln weggelassen. Regeln wie Konsistenz etc.,
welche jedes (also auch jedes nicht-relationale) DBS erfüllen muss, wurden von Codd nicht
gesondert erwähnt.
42
"Structured Query Language"; die durch die ISO genormte wichtigste relationale Abfrage- und
Manipulationssprache
14
RELATIONALES DATENBANKDESIGN
Zur bestmöglichen Erfüllung dieser Anforderungen hat sich die Ausrichtung an dem
Phasenmodell des Datenbankentwurfs als praktikabel erwiesen.
Da das Phasenmodell des Datenbankentwurfs stark an das Phasenmodell des Software-
Engineerings46 angelehnt ist (schließlich ist das „Datenbank-Engineering“ auch eine Form
des Software-Engineering), wird dieses kurz vorgestellt:
43
Vgl. hierzu und im folgenden: Vossen (1994) S. 48 – 52 sowie Heuer (1995) S. 133 ff.
44
Vossen (1994), S. 45
45
Vgl. Heinrich (1992), S. 176
46
Software-Engineering ist die von Grund auf systematische Softwareentwicklung (vgl. Hasen 1996,
S. 859)
15
RELATIONALES DATENBANKDESIGN
Planung
Definition
Entwurf
Implementierung
Am Anfang steht die Planung eines Projekts, bei dem es hauptsächlich um die Entscheidung
geht, ob das Projekt überhaupt durchgeführt werden sollte. Dementsprechend sind innerhalb
dieser Phase eine Durchführbarkeitsstudie und eine Kosten-/Nutzen-Analyse notwendig.
Als Ergebnis dieser Phase wird eine Projektentscheidung (ja oder nein) gefällt, und ein
grober Projektrahmen gesteckt.
Bei der Definition werden die fachlichen Anforderungen analysiert und möglichst genau
festgelegt. Das Ergebnis, das fachliche Pflichtenheft, ist die Grundlage für den technischen
Entwurf der Lösung.
Der Entwurf legt die technische Problemlösung grundlegend fest.
Die Implementierung überführt das technische Modell in eine lauffähige Lösung, beinhaltet
also das Programmieren.
Anmerkung: in unserem Beispiel gehen wir davon aus, dass noch gar nichts
Datenbanktechnisches vorhanden ist, und wir deshalb Schritt für Schritt nach dem
„Wasserfallmodell“ vorgehen mussten.
In der Praxis kommt es allerdings häufig vor, dass ein bereits vorhandenes
Datenbanksystem einem Redesign unterzogen werden soll. Häufig ist die Dokumentation
unzureichend oder gar überhaupt nicht vorhanden, so dass nichts anderes übrig bleibt, als
von dem vorhandenen System auf den logischen Aufbau und Zusammenhang der Daten zu
schließen.
Diese Vorgehensweise wird „Reverse Engineering“ genannt48.
Dabei lässt man sein CASE-Tool das jeweiliges Datenbanksystem untersuchen.
Aus dem daraus entstehenden technischen Modell lässt sich dann leicht (meist mit dem
selben Tool) ein konzeptionelles Modell erstellen.
47
Vgl. Roeing (1996), S. 9-10. Dies stellt allerdings eine stark vereinfachte Version des Wasserfall-
Modells dar. Für eine ausführliche Schilderung siehe Hansen (1996), S. 138-140.
48
Vgl. Heinrich (1992), S. 180
16
RELATIONALES DATENBANKDESIGN
Fachproblem
Anforderungsanalyse
Informationsanalyse Funktionsanalyse
Konzeptioneller Entwurf
Sichtenentwurf
Obwohl dieses
„Wasserfallmodell“ in
Sichtenanalyse
mancher Hinsicht
50
kritisiert wird , ist es
doch für die
Sichtenintegration
Entwicklung
Konzeptionelles Gesamtschema relationaler
Datenbanken sehr gut
(wenn nicht am besten
geeignet), und ist
Verteilungsentwurf darüber hinaus leicht
nachzuvollziehen.
Logischer Entwurf
Datendefinition
Physischer Entwurf
49
Vgl. hierzu und im Folgenden: Schürr, Andy: „Datenbanken I“, S. 75 – 83
50
Vgl. Roeing (1996) S. 11
17
RELATIONALES DATENBANKDESIGN
51
Vgl. hierzu Heuer (1995) S. 136 und S. 137-138
52
Zur Entity-Relationship-Darstellungsmethode vergleiche Chen/Knöll (1991) S. 37 ff.
53
Vgl. Chen/Knöll (1991), S. 25
18
RELATIONALES DATENBANKDESIGN
Ein weiterer Vorteil ist, dass dieses konzeptionelle Schema für Nicht-EDV-Fachleute leichter
zu verstehen ist als ein systemspezifisches Modell. Außerdem kann dieses auch bei einem
Wechsel des Systems beibehalten werden54.
54
Vgl. Chen/Knöll (1991) S. 25-26
55
Die von vornherein gegebene Festlegung auf ein bestimmtes System stellt natürlich eine große
Einschränkung der Flexibilität des Entwurfsprozesses dar. Sie ist allerdings nicht unwahrscheinlich;
bspw. könnte ein schon vorhandenes IT-Umfeld den Einsatz eines bestimmten Systems erzwingen.
56
Ein Benchmark ist eine Vergleichsmessung mithilfe standardisierter Hard- oder Software (vgl.
Hansen 1996, S. 44 f.
19
RELATIONALES DATENBANKDESIGN
Phase 5: Datendefinition
Der logische Entwurf war noch systemunabhängig – in der Datendefinitionsphase hingegen
wird die Schemadefinition für ein konkretes DBMS vorgenommen.
Dies geschieht unter Verwendung der Datendefinitions- und Datenmanipulationssprache
eines konkreten DBMS62. Ebenfalls erfolgt die Definition der Benutzersichten (als Umsetzung
der in der Phase des konzeptionellen Entwurfs gewonnenen Anwendungssichten).
Das Ergebnis der Datendefinitionsphase ist ein konkretes Datenbankschema für ein
implementiertes DBMS63.
57
Vgl. zum logischen Entwurf Heuer (1995) S. 142
58
Diese Transformation erfolgt heutzutage meist automatisch, durch die Unterstützung
entsprechender Software.
59
Wobei durchaus verschiedene Optimierungsziele miteinander konkurrieren können, etwas
redundanzfreie Speicherung durch Aufteilung mehrerer Relationen versus schnellerer Zugriff
60
Der besseren Übersichtlichkeit wegen gehe auf die Normalisierung erst im Praxisabschnitt ein, da
zur Veranschaulichung der Normalisierungstechniken ein Praxisbeispiel sehr nützlich ist
61
Chen/Knöll (1991), S.20
62
Dies ist notwendig, da sich die einzelnen Systeme in den unterstützten Sprachmitteln
unterscheiden. Selbst der von allen Systemen unterstützte Standard SQL stellt gewissermaßen nur
eine gemeinsame Teilsprache dar.
63
Allerdings ist – wie bereits erwähnt – diese Phase bei einigen Autoren schon im logischen Entwurf
integriert.
20
RELATIONALES DATENBANKDESIGN
64
Vgl. hierzu und im Folgenden Heuer/Saake (1995), S. 143
65
Vgl. Chen/Knöll (1991), S. 18
66
Für nähere Informationen zum Hash-Verfahren siehe Hansen (1996), S. 937 ff.
67
Vgl. hierzu und im Folgenden Heuer/Saake (1995), S. 144
68
Im allgemeinen versteht man unter Prototyping Verfahren zur Entwicklung von Prototypen, vgl.
Hansen (1996), S. 138
21
RELATIONALES DATENBANKDESIGN
Die Schritte 1-2 dienen der Abgrenzung des Anwendungsbereichs; die Schritte 3-5 dienen
der systematischen Sammlung von Informationen über den abgegrenzte
Anwendungsbereich. Schritt 6 dient dazu, die erarbeiteten Ergebnisse so gut zu
dokumentieren, dass sie ggf. auch von Externen verstanden werden können. Dies empfiehlt
auch dann, wenn der Auftrag zur Realisierung nicht an Externe vergeben wird.
Bestandteile dieser Beschreibung sind:
• Objekte, welche zu Objekttypen (Entitäten) abstrahiert werden sollten
• Attribute, welche diese Objekte beschreiben bzw. identifizieren
• Beziehungen zwischen den Objekten
69
Mein Beispiel ist angelehnt an die Beispiele von Heuer (1995), S. 21-22, und Kemper 1996, S. 53 ff.
70
Integriert im Sinne von „frei von Integritätsverletzungen“
71
Vgl. hierzu Heuer (1995), S. 133
72
Vgl. hierzu und im Folgenden: Kemper (1996), S. 31-34
22
RELATIONALES DATENBANKDESIGN
Zu abstrahierende Objekte:
Die Anforderungsanalyse arbeitet folgende Objekte heraus, die zu abstrahieren sind:
• Studenten, welche die Lehrveranstaltungen besuchen, und von den Dozenten geprüft
werden;
• Dozenten, welche die Lehrveranstaltungen halten, Forschung betreiben und die
Studenten prüfen;
• Assistenten, welche die Mitarbeiter der Dozenten sind und diese bei der Forschung
unterstützen;
• Mitarbeiter, welche die aufkommenden Verwaltungsarbeiten an der Hochschule
übernehmen;
• Bibliotheksnutzer, welche die vorhandene Literatur entleihen, und auch Hochschul-
Externe sein können.
An einer Hochschule wird man jedoch nicht nur Personen, sondern auch abstrakte, nicht-
fassbare Objekte (wie z.B. Vorlesungen) vorfinden.
Damit erweitert sich unsere Liste der zu verarbeitenden Objekte um:
• Lehrveranstaltungen, welche von Dozenten gehalten, und von Studenten besucht
werden;
• Fachgebiete, welche die an der Hochschule vertretenen verschiedenen Fachrichtungen
(wie z.B. Marketing oder Wirtschaftsinformatik) kennzeichnen;
• Lehrbücher als Sammelbegriff für die wissenschaftliche Literatur;
23
RELATIONALES DATENBANKDESIGN
Ebenfalls sollten in dieser Phase die einzelnen Rechte und Beschränkungen der jeweiligen
Zielgruppen textuell oder tabellarisch festgehalten werden, um so später die Sichten
definieren zu können73.
Für unser Universitätsbeispiel könnten dies folgende Sichten sein:
• Dozentensicht
• Studentensicht
• Sicht der Verwaltungsmitarbeiter
Anmerkung: Obwohl in der Praxis in der Regel der durchgängige Einsatz eines CASE-
Tools74 erfolgt, erledige ich aus Gründen der besseren Veranschaulichung möglichst vieles
manuell.
73
Vgl. hierzu Kemper 1996, S. 48 – 49
74
CASE = Computer Aided Software Engineering (siehe Hansen 1996, S. 859-861)
24
RELATIONALES DATENBANKDESIGN
Dozent_Nr Matrikel_Nr
Name_Dozent Name_Student
Email_Dozent Email_Student
Beispielhaftes Entity-Relationship-Modell
75
Vgl. hierzu: Kemper (1996), S. 35 f.
76
Kemper (1996), S. 35
77
Vgl. hierzu: Chen, Peter: "The Entity-Relationship-Model--Toward a Unified View of Data"
(http://www.csc.lsu.edu/~chen/pdf/erd.pdf)
25
RELATIONALES DATENBANKDESIGN
modifizierte und veränderte Notationen entwickelt wurden (die jedoch alle auf dem ER-
Diagramm beruhen)78.
Die Unübersichtlichkeit ist darauf zurückzuführen, dass für die Attribute und Beziehungen
eigene Objekte zu zeichnen sind. Nahezu alle modifizierten ER-Notationen begegnen dieser
Schwäche dadurch, dass sie die Attribute in das „Entity-Rechteck“ schreiben, und die
Entitäten direkt miteinander verbinden. Die Kardinalität79 wird anhand der Verbindungslinie
deutlich, und kann bei Bedarf zusätzlich notiert werden.
Dozent_Nr Matrikel_Nr
Dozent_Nr (FK)
Name_Dozent
Vorname_Dozent Name_Student
Email_Dozent Vorname_Student
Email_Student
Dozent_Nr Matrikel_Nr
Dozent_Nr (FK)
Name_Dozent
Vorname_Dozent Name_Student
Email_Dozent Vorname_Student
Email_Student
78
Einen ausführlicheren Vergleich der einzelnen Notationen bietet Hay, David: "A COMPARISON OF
DATA MODELING TECHNIQUES", Essential Strategies 1999, http://www.essentialstrategies.com
79
Kardinalität = Anzahl der zugeordneten Entitäten
80
Eine ausführliche Dokumentation der IDEF1X-Notation gibt es von dem National Institute of
Standards and Technology (www.nist.gov); Titel: "INTEGRATION DEFINITION FOR
INFORMATION MODELING (IDEF1X)"; Federal Information Processing Standards Publication 184,
1993; http://www.sdct.itl.nist.gov/~ftp/idef/idef1x.rtf
81
Die Information Engineering – Notation wurde 1970 von James Martin am "IBM Systems Design
Institute" in New York entwickelt. Für weitere Informationen zur IE-Notation bitte
http://www.essentialstrategies.com konsultieren.
Für weitere Einblicke in das Information Engineering selbst siehe Heinrich 1992, S. 259 ff. sowie
Martin, James: „Information Engineering: Introduction“, Prentice Hall 1989
26
RELATIONALES DATENBANKDESIGN
konditionell (0 oder 1)
einfach (genau 1)
multipel (1 oder mehrere)
27
RELATIONALES DATENBANKDESIGN
Unser fertiges ER-Diagramm mit den oben beschriebenen Sachverhalten sieht so aus82:
MITARBEITER
STUDENTEN LEHRVERANSTALTUNGEN
Mitarbeiter_Nr
Matrikel_Nr LV_Nr Name_Mitarbeiter
Name LV_Titel Arbeitsgebiet
Studienbeginn LV_Art Gehalt_Monat
Adresse_Student Semesterw ochenstunden eMail
Geburtsdatum
eMail_Student
DOZENTEN
Dozenten_Nr FACHGEBIETE
LEHRBÜCHER
Name
FG_Nr
Titel Adresse
Bezeichnung
Autor Geburtsdatum
ISBN Fachgebiet
Erscheinungsjahr Gehalt_Monat
Verfügbarkeit eMail_Dozent
ASSISTENTEN
Assistent_Nr
BIBLIOTHEKSNUTZER Name_Assistent
Arbeitgeber
Nutzer_Nr
Geburtsdatum
Nutzer_Name
Adresse
Nutzer_Adresse
Gehalt_Monat
Nutzer_Status
eMail_Assistent
82
Das Modell wurde mit Hilfe der Software „Silverrun Relational Data Modeler“ erstellt
(http://www.silverrun.com/products/rdm.html). Prinzipiell kann dies natürlich auch von Hand erfolgen.
28
RELATIONALES DATENBANKDESIGN
Wie im theoretischen Teil bereits erläutert, sollte zu Beginn dieser Phase oder kurz davor die
Auswahl eines bestimmten DBMS erfolgen.
In unserem Beispiel entscheiden wir uns für das System „MySQL84“, weil es auf diversen
Plattformen verfügbar ist, und kostenfrei angeboten wird (und dies ist angesichts der
knappen Mittel, die unserer Hochschule zur Verfügung stehen, nicht unwichtig).
STUDENTEN STUDENTEN
Matrikel_Nr PK Matrikel_Nr
Name
Studienbeginn Name_Student
Adresse_Student Studienbeginn
Adresse
Geburtsdatum
G eburtsdatum
eMail_Student
eMail_Student
83
Vgl. hierzu und im folgenden: Roeing (1996), S. 63 ff.
84
Informationen zu MySQL gibt es unter http://www.mysql.com
85
Vgl. Hald/Nevermann (1995), S. 167
29
RELATIONALES DATENBANKDESIGN
86
Vgl. hierzu und im folgenden: Roeing (1996), S. 65 f.
87
Vgl. Hald/Nevermann (1995), S. 171
88
Vgl. hierzu und im folgenden: Hald/Nevermann (1995), S. 169
30
RELATIONALES DATENBANKDESIGN
Bei komplexen, also n:m – Beziehungen reicht ein Fremdschlüsselfeld nicht aus.
LEHRVERANSTALTUNGEN
STUDENTEN
LV_Nr
Matrikel_Nr
LV_Titel
Name
LV_Art
Studienbeginn
LV_Dozent
Adresse_Student
Geburtsdatum Semesterwochenstunden
eMail_Student
89
Vgl. hierzu und im Folgenden Hald/Nevermann (1995), S. 171-172
31
RELATIONALES DATENBANKDESIGN
90
Vgl. hierzu und im Folgenden Kemper (1996), S. 143-149; sowie Hald/Neverman (1995), S. 35-42
91
Hald/Nevermann (1995), S. 37
92
Hald / Nevermann (1995) S. 38
93
Hald / Nevermann (1995) S. 39
32
RELATIONALES DATENBANKDESIGN
Phase 4: Datendefinition
Diese Phase umfasst die Definition der Datentypen.
Da eine Behandlung aller von MySQL unterstützen Datentypen hier zu weit führen würde,
folgt hier lediglich eine Auflistung der von mir gewählten Typen94:
Die Zuordnung der Attribute zu den ihnen zugewiesenen Datentypen ist der Abbildung der
folgenden Seite zu entnehmen.
Anmerkung:
Ich habe die Primärschlüsselfelder „Matrikel_Nr“, „Dozent_Nr“, „Mitarbeiter_Nr“,
„Assistent_Nr“, „Nuzer_Nr“, „LV_Nr“, „FG_Nr“ und „Inventar_Nr“ deswegen als CHAR-Felder
definiert, weil sich nur so eine zwingend vorgegebene Feldlänge realisieren ließ.
Und da mit diesen Feldern keine Rechenoperationen durchgeführt werden sollen, ist eine
Verwendung von Zeichenfeldern absolut unproblematisch.
94
Für eine Beschreibung aller von MySQL unterstützten Datentypen bitte das MySQL-Manual
konsultieren (http://www.mysql.com/Downloads/Manual/manual.pdf)
33
RELATIONALES DATENBANKDESIGN
Das fertige relationale Schema (einschließlich der Datentypen) sieht folgendermaßen aus95:
STUDENTEN LV_Belegung
DO ZENTEN
MITARBEITER
ASSISTENTEN
95
Das Modell wurde erstellt mit einer Demoversion von Microsoft Visio 2000 Professional
(http://www.microsoft.com/office/visio)
34
RELATIONALES DATENBANKDESIGN
Da nun die Datentypen festliegen, können jetzt die Tabellen in der DDL unseres Zielsystems
definiert werden96. Beispielhaft sei hier die CREATE TABLE Anweisung für die Tabelle
„STUDENTEN“ aufgezeigt:
Erläuterung:
Mit „CREATE TABLE“ wird die Tabellendefinition eingeleitet, dahinter folgen die Attribute und
ihre Datentypen. Anschließen wird mit „PRIMARY KEY()“ der Primärschlüssel festgelegt.
NULL bzw. NOT NULL geben an, ob das Feld leer bleiben darf, oder gefüllt werden muss.
Wenn alle Tabellen definiert sind, müssen noch die Beziehungen zwischen den einzelnen
Tabellen hergestellt werden.
Da der Fremdschlüssel in diejenige Relation aufgenommen wird, deren Maximal-Kardinalität
auf der anderen Seite „1“ ist, ergibt sich folgender SQL-Befehl:
96
Selbstverständlich kann die Skriptgenerierung auch automatisch über das jeweilige Tool erfolgen.
Das wurde aber aus Gründen der besseren Veranschaulichung unterlassen.
35
RELATIONALES DATENBANKDESIGN
Phase 5: Implementierung
Die fertiggestellten Skripte lassen sich bequem per „copy & paste“ in „MySQL“ einlesen:
36
RELATIONALES DATENBANKDESIGN
Anwendung XXX
ODBC-Treiber
97
Für weitere Informationen zu ODBC siehe www.microsoft.de
37
RELATIONALES DATENBANKDESIGN
Datenbankrechte
Bei der Definition von Datenbankrechten an Benutzer ist der Benutzername, die
Berechtigungsart, sowie das zu vergebende Passwort (in unserem Fall „XXX“) anzugeben.
Sollen Datenbankrechte wieder entzogen werden, so erfolgt das mit der REVOKE-
Anweisung:
Tabellenrechte
Ein Datenbankrecht beinhaltet noch keinerlei Zugriffsrechte auf bestimmte Tabellen des
Systems. Die Entsprechende Anweisung dafür:
Anstelle des SELECT-Rechts können auch andere Rechte, wie z.B. ALTER, INSERT oder
DELETE eingeräumt werden.
Das Entziehen von Tabellenrechten erfolgt ähnlich wie bei den Datenbankrechten:
98
Vgl. hierzu und im Folgenden: Hald/Nevermann (1995), S. 199 ff.
38
RELATIONALES DATENBANKDESIGN
Beispielhaft sei hier die Definition einer Studenten Sicht auf die Dozentendaten beschrieben:
Leider unterstützt die aktuelle Version von MySQL keine Views, allerdings ist die
Unterstützung für kommende Versionen geplant100, weswegen wir für unser Praxisbeispiel
davon ausgehen, dass der Hochschule bereits eine Version vorlag, die Views unterstützte.
99
Vgl. hierzu Hald/Nevermann (1995), S. 203 f.
100
Siehe hierzu das entsprechende Kapitel im MySQL-Manual
(http://www.mysql.com/doc/M/i/Missing_Views.html)
101
Vgl. hierzu und im Folgenden: Roeing (1996), S. 206 f.
39
RELATIONALES DATENBANKDESIGN
40
RELATIONALES DATENBANKDESIGN
Schlussbemerkung
Der Nutzen eines systematischen Designs relationaler Datenbanken steht bei allem
Aufwand, der mit ihm verbunden ist, außer Frage, weswegen dieser systematische Ansatz
auch und gerade in der Praxis längst vorherrschend ist.
41
RELATIONALES DATENBANKDESIGN
Abkürzungsverzeichnis
1 NF Erste Normalform
2 NF Zweite Normalform
3 NF Dritte Normalform
ANSI American National Standards Institute
AWS Anwendungssystem
CASE Computer Aided Software Engineering
DBA Datenbankadministrator
DBMS Datenbankmanagementsystem
DBS Datenbanksystem
DDL Data Definition Language
DML Data Manipulation Language
DV Datenverarbeitung
ERD Entity-Relationship-Diagramm
ERM Entity-Relationship-Modell
HM Hierarchisches Modell
IM Informationsmanagement
IuK Information und Kommunikation
IV Informationsverarbeitung
RDBMS Relationales Datenbank-Management-System
42
RELATIONALES DATENBANKDESIGN
102
Anmerkung: Es wurden ausschließlich Demoversionen der entsprechenden Programme
eingesetzt.
Diese können von den jeweiligen Herstellern bezogen werden.
103
Im Gegensatz zu den Programmen anderer Hersteller braucht man für ERwin einen Schlüssel, um
überhaupt in den Genuß der recht kurzen Evaluierungsphase zu kommen (während für die
Produkte anderer Hersteller kein Schlüssel erforderlich ist).
104
Vgl. Hansen (1996), S. 860
105
Von der SAP AG verwendetes Strukturiertes Entity-Relationship-Modell
43
RELATIONALES DATENBANKDESIGN
KBSI SmartER
(http://www.kbsi.com/Software/Smarter.htm)
Ebenfalls ein gutes Tool, mit ebenfalls sehr bescheidenen Hardwareanforderungen.
Nachteilig ist das äußerst umständliches Handling, da zwingend erst Projekte und Views
definiert werden müssen.
Unterstützte Notationen: IDEF1X, IDEF0
44
RELATIONALES DATENBANKDESIGN
Quellen
Bilke, Petra
„Start mit Datenbanken und SQL“
KnowWare Verlag 1997
Buchmann, Alejandro:
„Datenbanken I“
http://www.bib.informatik.th-darmstadt.de/ttt/ai.htm
Chen, Peter:
"The Entity-Relationship-Model--Toward a Unified View of Data"
http://www.csc.lsu.edu/~chen/pdf/erd.pdf
Hansen, H. R.:
„Wirtschaftsinformatik I“
Lucius & Lucius 1996
Hay, David:
„A COMPARISON OF DATA MODELING TECHNIQUES“
Essential Strategies 1999
http://www.essentialstrategies.com
Hay, David:
„BUILDING QUALITY DATA MODELS“
http://www.essentialstrategies.com/publications/modeling/dmquality.htm
Heinrich, Lutz:
„Informationsmanagement“
Oldenbourg Verlag 1992
45
RELATIONALES DATENBANKDESIGN
Heyer, Gerhard:
„Datenmodellierung und ER-Modelle“
http://www.informatik.uni-leipzig.de/ifi/lehre/Heyer9900/kap21/index.htm
Kemper, Alfons:
„Datenbanksysteme – Eine Einführung“
Oldenbourg Verlag 1996
Link, Jörg:
„Führungssysteme“
Vahlen 1996
Meier, Andreas:
„Relationale Datenbanken: Eine Einführung für die Praxis“
Springer 1995
Roeing, Frank
„ORACLE 7 – Datenbanken erfolgreich realisieren“
Verlag Vieweg, Wiesbaden 1996
Schürr, Andy:
„Datenbanken I“
Skript zur Vorlesung „Datenbanken I“
http://ist.unibw-muenchen.de/Lectures/DBI/DBI.pdf
Vossen, Gottfried:
„Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme“
Addison-Wesley 1994
46