Table Of ContentMarkus Lusti
Dateien und
Datenbanken
Eine anwendungsorientierte Einftihrung
Springer-Verlag
Berlin Heidelberg New York
London Paris Tokyo
Professor Dr. Markus Lusti
Institut fUr Inforrnatik
Wirtschaftswissenschaftliches Zentrum
der Universitat Basel
Petersgraben 51
CH-4051 Basel
ISBN-13: 978-3-540-51035-2 e-ISBN-13: 978-3-642-97170-9
DOl: 10.1007/978-3-642-97170-9
Dieses Werk ist urheberrechtIich geschiitzt. Die dadurch begriindeten Rechte, insbesonde
re die der Ubersetzung, des Nachdruckes, des Vortrags, der Entnahme von Abbildungen
und Tabellen, der Funksendungen, der Mikroverfilmung oder der Vervielfaltigung auf an
deren Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur
auszugsweiser Verwertung, vorbehalten. Eine Vervielfliltigung dieses Werkes oder von Tei
len dieses Werkes istauch im Einzelfall nurin den Grenzen dergesetzlichenBestimmungen
des U rheberrechtsgesetzes der BundesrepublikDeutschland yom 9. September 1965 in der
Fassung yom 24. Juni 1985 zuliissig. Sie ist grundsiitzlich vergiitungspflichtig. Zuwider
handlungen unterliegen den Stratbestimmungen des Urheberrechtsgesetzes
© Springer-Verlag Berlin Heidelberg 1989
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in die
sem Werk berechtigtauch ohne besondere Kennzeichnungnichtzu der Annahme, daB sol
che Namen im Sinne der Warenzeichen-und Markenschutz-Gesetzgebung als frei zu be
trachten waren und daher vonjederrnann benutzt werden diirften.
2142/7130-543210
Vorwort
Die folgenden Kapitel fUhren Anwender in Datei- und Datenbanksysteme ein. Anders
als in traditionellen Programmierkursen liegt der Schwerpunkt nicht auf der Entwick
lung von Algorithmen sondem auf dem Entwurf und der Abfrage von Datenbanken in
Anwendersprachen. Die meisten Abschnitte sind besser verstandlich, wenn der Leser
einfache Endbenutzerwerkzeuge (zum Beispiel gangige Textverarbeitungs-und Tabel
lenkalkulationspakete) handhaben kann und bereits Programme in einer prozeduralen
Sprache (zum Beispiel Pascal) entwickelt hat.
Das erste Kapitel behandelt den Begriff und die verschiedenen Arten von Daten, das
zweite untersucht die Organisation konventioneller Dateien: Ausgewlihlte Dateiopera
tionen in Pascal veranschaulichen die Dateiverwaltung mit einer traditionellen Pro
grammiersprache. Kapitel 3 verdeutlicht die relative und indizierte Dateiverwaltung
an den Dateioperationen von zwei allgemein zuganglichen Softwarepaketen: dBASE
ist das verbreitetste Datenbanksystem aufPersonalcomputem. Seine Anfange gehen bis
ins Jahr 1978 zuriick (Die Entstehungsgeschichte von dBASE schildert ein Interview
mit dem Entwickler C. W. Ratliff im faszinierenden Buch "Programmers at Work", Mi
crosoft Press 1986, dt. Markt&Technik 1987). Paradox ist wesentlich jiinger und wurde
vor allem wegen seiner benutzerfreundlichen Dialogschnittstelle (Query by Example)
ausgewahlt.
Das vierte Kapitel skizziert einige Grundlagen des Datenentwurfs. Es motiviert ohne
den komplizierten Begriffsapparat der N ormalisierungstheorie das Ziel der Redundanz
minirnierung. Kapitel 5 wendet die Grundsatze des Datenentwurfs auf die Implemen
tierung einfacher Datenbanken an.
Eine Starke vieler PC-Datenbanksysteme liegt in der Moglichkeit, einfach und schnell
Anwendungen zu programmieren, die auf eine Datenbank zugreifen. Kapitel 6 stellt
deshalb eine Fallstudie zur Programmierung in der eingebauten Programmiersprache
von dBASE vor. Das nachste Kapitel beschreibt dBASE und Paradox als relation ale
Datenbanksysteme und weist auf U nterschiede zum relationalen Modell hin. Das letzte
Kapitel stellt allgemeine Anforderungen an ein Datenbankverwaltungssystem zusam
men und wendet sie auf dBASE und Paradox an.
Die methodische und didaktische Gestaltung orientiert sich an folgenden Grundsatzen:
• Jedes Kapitel beginnt mit einer Liste der wichtigsten Begriffe. Urn ihre gegenseiti
gen Beziehungen hervorzuheben, sind sie als Einriickungsliste dargestellt.
• Die exemplarische Vertiefung einzelner Aspekte ersetzt eine iiberblicksartige Dar
stellung.
• Das LOsen der Aufgaben am Ende eines Kapitels ist fUr die aktive Aneignung des
Stoffes notwendig.
vi Yorwort
• Das Erlemen der Syntax von Pascal, dBASE und Paradox ist nicht Hauptzweck.
Das Buch eignet sich deshalb auch fUr Leser ohne Vorkenntnisse in Pascal und ohne
Zugang zu dBASE und Paradox. Wer sich tiefer mit den Werkzeugen beschaftigen
will, findet Details in Hand-und Lehrbiichem (siehe Abschnitt Literaturhinweise).
• Die Beispiele vermeiden nach Moglichkeit Abkiirzungen. Bezeichner iiberschrei-
ten deshalb manchmal die vom Betriebssystem gesetzte MaximalUinge.
Ich danke allen, die mir bei der Durchsicht des Manuskripts geholfen haben. Besonde
ren Dank schulde ich meinen Assistenten Peter Hassler, Yvonne Kuntermann, Thomas
Ratz und Johannes Schmidt.
Inhaltsverzeichnis
1 Daten ond Dateien 1
1.1 Daten 3
1.1.1 Arlen von Daten 3
1.1.2 Arlen von Attributen 4
1.1.3 Formate von Daten 4
1.2 Dateien 5
1.2.1 Arten von Dateien 5
1.2.2 Operationen auf Dateien 7
Aufgaben zu Kapitel 1 9
2 Dateiorganisation 13
2.1 Datenspeicher 15
2.2 Sequentielle Dateiorganisation 16
2.2.1 Deklarieren des Satzpuffers 16
2.2.2 Offnen und Schliessen 17
2.2.3 Errichten 18
2.2.4 Lesen 20
2.2.5 Fortschreiben 20
2.3 Relative Dateiorganisation 27
2.4 Indizierte Dateiorganisation 28
2.5 Wahl der geeigneten Dateiorganisation 31
Aufgaben zu Kapitel2 32
3 Dateiverwaltong in Datenbanksystemen 43
3.1 Dateiverwaltung fUr den Endbenutzer 45
3.2 Operationen auf einer Datei 45
3.2.1 Deklarieren der Satzstruktur 46
Inhaltsverzeichnis viii
3.2.2 Offnen und Schliessen 47
3.2.3 Errichten 47
3.2.4 Suchen 48
3.2.5 Fortschreiben 49
Aufgaben zu Kapitel 3 51
4 Datenentwurf 53
4.1 Ziele des Datenentwurfs 55
4.1.1 Minimale Redundanz 55
4.1.2 Minimale Datenabhangigkeit 56
4.2 Mittel des Datenentwurfs 56
4.2.1 Beseitigung von Anomalien 57
4.2.2 Datenbankstrukturdiagramm 61
4.2.3 Phasen des Datenentwurfs 62
4.3 Eine Fallstudie zur Normalisierung 66
Aufgaben zu Kapitel4 70
5 Datenbankverwaltung 79
5.1 Abfragen 81
5.1.1 Verkniipfen von Tabellen 81
5.1.2 Verbund zweier Tabellen 83
5.1.3 Query by Example 84
5.2 Andern 89
5.2.1 Fortschreiben einer Stammdatei mit einer Bewegungsdatei 89
5.3 Datenbankverwaltung und Tabellenkalkulation 91
. Aufgaben zu Kapitel 5 93
. 6 Programmieren in prozeduralen Datenbanksprachen 97
6.1 Benutzerschnittstelle zur Datenbank 99
6.1.1 Befehls-und meniigesteuerte Benutzerschnittstellen 99
Inhaltsverzeichnis ix
6.1.2 Die eingebauten Programmiersprachen von dBASE und Paradox 99
6.1.3 Programmentwicklung 102
6.2 Fallstudie LITERATURVERWALTUNG 103
6.2.1 Kurzbeschreibung und Dialogentwurf 103
6.2.2 Dateientwurf 105
6.2.3 Algorithrnischer Entwurf 105
6.2.4 Programmierung 107
Aufgaben zu Kapite16 114
7 Relationale Datenbanksysteme auf Personalcomputern 115
7.1 Datenmodelle 117
7.2 Relationale Eigenschaften von dBASE und Paradox 117
7.2.1 Relationale Datenbanken als Mengen von Tabellen 117
7.2.2 Operationen auf Tabellen 119
7.3 Das Codd'sche Postulat eines idealen relationalen Systems 125
7.4 Relationenmodell und Netzwerkmodell 129
Aufgaben zu Kapitel 7 134
8 Anforderungen an Datenbanksysteme 139
Anhang
A Die Datenbanksysteme Paradox und dBASE 143
1 Ubersicht 144
1.1 Operationen in einer Datei 144
1.2 Operationen zwischen Dateien 144
2 Paradox 145
a) Dateioperationen in Paradox 145
b) Datenbankoperationen in Paradox 147
3dBASE 148
Inhaltsverzeichnis x
a) Dateioperationen in dBASE 148
b) Datenbankoperationen in dBASE 151
B ASCII-Code 153
ASCll-Code 154
C Glossar 157
D Losungen zu den Aufgaben 165
E Literaturhinweise 205
F Software 211
a) Lemprogramme zu Paradox und dBASE 212
b) Turbo Pascal Database Toolbox 212
Index 213
Kapitel1
Daten ond Dateien