1. Ziel des Datenbankentwurfs
Ziel ist der Aufbau eines Modells eines Teilbereiches der wahrnehmbaren
Realität und Abbildung dieses Bereichs in Form von Daten, so daß
diese nach verschiedensten Kriterien ausgewertet werden können.
1.1 Ein Beispiel
Als Beispiel wollen wir ein (reales) Reisekostenformular betrachten und
überlegen, wie wir dieses optimal speichern können.
Zu unterscheiden sind Datenfelder und Daten:
-
Im unausgefüllten Zustand besteht das Formular aus Datenfeldern
-
Im ausgefüllten Zustand besteht das Formular aus Daten in Datenfeldern
Beachten Sie:
-
Viele Datenfelder bleiben hier leer
-
Es gibt Datenfelder, die in obigem Formular nur einmal auftreten (z. B.
Rechnungsnummer und Name), und Datenfelder, die mehrmals auftreten. Als
Kostenart gibt es z. B. "Tagegeld", "Übernachtung" und "Fahrtkosten".
Das Datenfeld "Kostenart" taucht also mehrfach auf. Eine Gruppe von mehrfach
auftretenden Datenfeldern nennt man Wiederholungsgruppe. Im Beispiel
bilden also "Kostenart", "Anzahl", "Einzelvergütung" und "Gesamtvergütung"
eine Wiederholungsgruppe
1.2 Abbildung in Form von Daten
Eine Möglichkeit besteht darin, alle Daten einer bestimmten Rechnungsnummer
in einer langen Zeile einer Tabelle einzutragen. Weitere Zeilen können
Daten anderer Reisekostenabrechnungen enthalten.
Reisekosten
Rechnungs-
nummer |
Datum |
Name |
Vorname |
Straße |
PLZ |
Ort |
Summe |
-> |
03461 |
13.07.98 |
Kelz |
Andreas |
Barerstr. 21 |
80333 |
München |
70 |
|
03462 |
|
|
|
|
|
|
|
|
03463 |
|
|
|
|
|
|
|
|
<- |
Anzahl
Tagegeld |
Einzelvergütung
Tagegeld |
Gesamtvergütung
Tagegeld |
Anzahl
Übernachtung |
Einzelvergütung
Übernachtung |
-> |
|
2 |
30 |
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<- |
Gesamtvergütung
Übernachtung |
Anzahl
Fahrtkosten |
Einzelvergütung
Fahrtkosten |
Gesamtvergütung
Fahrtkosten |
Anzahl
Sonstiges |
-> |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<- |
Einzelvergütung
Sonstiges |
Gesamtvergütung
Sonstiges |
|
10 |
10 |
|
|
|
|
|
|
Beachten Sie:
-
Die Tabelle enthält nur die reinen Daten sowie die Bezeichnung der
Datenfelder. Sie enthält keine Informationen über das Aussehen
des ursprünglichen Formulars. Das Formular ist eine von vielen
optischen Darstellungsmöglichkeiten der Daten in Tabellen
-
Bei einer langen Wiederholungsgruppe wird die Tabelle sehr breit und es
bleiben viele Datenfelder leer
-
Wenn die Wiederholungsgruppe sehr viele verschiedene Werte enthalten kann,
etwa Posten aus einem Versandkatalog mit 10000 Artikeln, wird die Tabelle
in dieser Form sehr unhandlich
-
Der Inhalt zweier Zeilen darf nicht identisch sein (jede Reisekostenabrechnung
gibt es nur einmal)
Eine zweite Möglichkeit bestünde darin, mehrere Zeilen
für eine einzige Reisekostenabrechnung vorzusehen, die bis auf die
Spalten der Wiederholungsgruppe identisch sind. Dabei werden nur die Teile
der Wiederholungsgruppe eingetragen, die auch Daten enthalten.
Reisekosten
Rechnungs-
nummer |
Datum |
Name |
Vorname |
Straße |
PLZ |
Ort |
Summe |
-> |
03461 |
13.07.98 |
Kelz |
Andreas |
Barerstr. 21 |
80333 |
München |
70 |
|
03461 |
13.07.98 |
Kelz |
Andreas |
Barerstr. 21 |
80333 |
München |
70 |
|
|
|
|
|
|
|
|
|
|
<- |
Kostenart |
Anzahl |
Einzelvergütung |
Gesamtvergütung |
|
Tagegeld |
2 |
30 |
60 |
|
Sonstiges |
1 |
10 |
10 |
|
|
|
|
|
Beachten Sie:
-
Dies reduziert die Anzahl leerer Datenfelder, führt aber dazu, daß
zur Darstellung der gesamten Reisekostenabrechnung mehrere Zeilen berücksichtigt
werden müssen
-
Der Inhalt zweier Zeilen darf auch hier nicht identisch sein
Eine dritte Möglichkeit besteht darin, die Wiederholungsgruppe
von den anderen Daten zu trennen und in einer zweiten Tabelle unterzubringen.
Reisekosten
Rechnungs-
nummer |
Datum |
Name |
Vorname |
Straße |
PLZ |
Ort |
Summe |
03461 |
13.07.98 |
Kelz |
Andreas |
Barerstr. 21 |
80333 |
München |
70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Positionen
Rechnungsnummer |
Kostenart |
Anzahl |
Einzelvergütung |
Gesamtvergütung |
03461 |
Tagegeld |
2 |
30 |
60 |
03461 |
Sonstiges |
1 |
10 |
10 |
|
|
|
|
|
Beachten Sie:
-
In der Tabelle "Positionen" wird die Rechnungsnummer nochmals wiederholt,
um eine endeutige Zuordnung der Positionen zu einer Reisekostenabrechnung
zu erreichen
Wie man die ermittelten Datenfelder systematisch und ideal auf Tabellen
aufteilt, werden wir in Abschnitt 4 näher
beleuchten. Als Grundlage der Betrachtungen werden wir dort die zweite
der oben vorgestellten Möglichkeiten wählen, da die erste Möglichkeit
bei einer Wiederholungsgruppe ein grundsätzlich falscher Ansatz ist
(für jeden Erweiterung der Wiederholungsgruppe muß die Struktur
der Tabelle geändert werden!). Wir werden außerdem sehen, daß
sich die dritte Möglichkeit zwangsläufig aus der zweiten ergibt.
Inhaltsverzeichnis Kapitel
2
© 1996-98 Andreas
Kelz