3. Entwurf einer Datenbank
3.1 Zweck der Datenbank festlegen
Hier als Beispiel: Reisekostenabrechnung erstellen
3.2 Felder der Tabelle festlegen
Legen Sie alle aufzunehmenden Datenfelder der Tabelle fest (siehe
Abschnitt
1.1). Die Namen der Datenfelder müssen
eindeutig
sein.
3.3 Überflüssige Felder entfernen
Felder, die aus anderen Feldern berechnet werden, sind überflüssig
und benötigen zusätzlichen Speicherplatz. Diese Felder können
jederzeit neu berechnet werden. Sie werden daher normalerweise nicht in
die Tabelle aufgenommen.
Am Beispiel der Reisekostenabrechnung:
Gesamtvergütung = Anzahl x Einzelvergütung
Summe = Summe der Gesamtvergütungen
Damit wird die Tabelle kürzer:
Reisekosten
Rechnungs-
nummer |
Datum |
Name |
Vorname |
Straße |
PLZ |
Ort |
-> |
|
|
|
|
|
|
|
|
<- |
Kostenart |
Anzahl |
Einzelvergütung |
|
|
|
|
Beachten Sie:
-
Die Tabelle enthält während des Datenbankentwurfs keine Daten,
sondern nur Datenfelder. Daten werden erst bei "Inbetriebnahme" der Datenbank
eingefügt
-
Unterscheiden Sie zwischen Tabellen-Spalten und Tabellen-Zeilen
-
Obwohl die Tabelle keine Datenfelder für Gesamtvergütungen und
Summe enthält, kann aus dieser Tabelle das Reisekostenformular erstellt
werden. Die Beträge werden dann einfach bei Bedarf aus den Daten der
Tabelle berechnet.
Dies verdeutlicht noch einmal den Unterschied zwischen Tabelle und
Formular!
3.4 Aufteilung der Tabelle in mehrere Tabellen
Die Tabelle wird in mehrere Tabellen aufgeteilt, so daß möglichst
keine unerwünschten Nebeneffekte auftreten. Damit wird die Datenbank
flexibel. Diese Aufteilung erfolgt mit dem Verfahren der Normalisierung
(Abschnitt 4).
Zunächst einige Beispiele für unerwünschte Nebeneffekte,
die in obiger Tabelle auftauchen:
-
Redundanz (Wiederholung von Information)
Zahlreiche Daten werden mehrfach gespeichert. Für jede Rechnung
wird z. B. die komplette Adresse des Reisenden gespeichert. Dabei wird
u. a. unnötig Speicherplatz belegt
-
Änderungs (Update)-Anomalien
Das Verfahren, bei jeder Rechnung die komplette Adresse zu speichern,
ist sehr fehleranfällig beim Eintippen sowie bei Adreßänderungen,
da eine neue Adresse an vielen Stellen geändert werden muß
-
Einfüge (Insert)-Anomalien
Eine Person kann in dieser Datenbank nicht eingefügt werden, wenn
sie noch keine Reise gemacht hat, d. h. die Datenbank ist nur für
Reisekostenabrechnungen zu gebrauchen und z. B. nicht gleichzeitig als
Adreßdatei
-
Lösch (Delete)-Anomalien
Werden alle Reisekostenabrechnungen einer Person gelöscht, geht
auch die Information über die Adresse dieser Person verloren. Die
Adresse könnte aber noch benötigt werden
3.5 Einige Fachbegriffe
-
Eine Relation ist eine zweidimensionale Tabelle, die eine Entität
(ein 'Ding', das von anderen unterscheidbar ist, z. B. Reisekosten) beschreibt
-
Die Tabelle enthält Tupel (Zeilen)
-
Jedes Tupel enthält Werte für eine Reihe von Attributen
(Spalten), die Eigenschaften einer Entität beschreiben (z. B. "Rechnungsnummer"
und "Datum" bei der Reisekostentabelle). Ein Tupel wird auch als Instanz
einer Relation bezeichnet
-
Die Menge der möglichen Werte eines Attributes wird als Domäne
(Domain)
bezeichnet. So könnte z. B. der Wertebereich (rot, grün, blau)
die Domäne des Attributs "Farbe" sein
Inhaltsverzeichnis
Kapitel 4
© 1996-98 Andreas
Kelz