Gut bei allem ist die Ordnung - Kurs: Datenbank-Planung und Realisierung (Teil 3)

In diesem abschließenden Kursteil besprechen wir den Entwurf der Masken, Ausgabe-Besonderheiten und den Aufbau eines Pflichtenheftes.

Erinnern wir uns an das Beispiel der letzten Ausgabe: Wir verwenden einen Karteikasten. Dieser enthält Karteikarten in alphabetischer Reihenfolge der Adressen. Auf der Rückseite der Karten sind bis zu fünf Termine eingetragen. Natürlich könnten die Termine auch unter den Adreßangaben stehen. Die beidseitige Darstellung erlaubt aber das Sortieren nach Terminen. Anderenfalls ständen die Karteikarten mit der Rückseite nach vorn im Kasten.

Bei den Adreßfeldern finden wir »Name1« und »Name2«. An dieser Aufteilung erkennen wir das eventuelle Vorhandensein eines Hauptnamens, zum Beispiel der Firma, und eines weiteren Namens, des Ansprechpartners.

Maskengestaltung

Die Maske in Bild 2 faßt Vorder- und Rückseite zusammen. Das muß aber nicht sein. Die meisten Datenbankprogramme erlauben eine Maskendarstellung über mehrere Seiten. Wir hätten also auch die zweiseitige Darstellung wählen können. Bei der praktischen Arbeit hat dieses Verfahren aber den Nachteil, daß nicht alle Angaben sofort sichtbar sind. Der Maskenaufbau zeigt fast das gleiche Bild. Hinzugekommen ist das Feld »An«, in dem die Briefanrede stehen soll, beispielsweise »Herr«, »Frau«, »Fräulein« oder »Firma«. Wir benötigen dieses Feld, weil wir mit den Datenbankeintragungen auch Adressen oder Briefe schreiben wollen.

Der Pfeil hinter den Feldern »Name1«, »PLZ« und »wann« kennzeichnet die sortierfähigen Schlüsselfelder. Beim Datum »wann« handelt es sich um ein Mehrfachfeld. Ob eine solche Darstellung in der Praxis möglich ist, hängt vom verwendeten Datenbankprogramm ab. In der Regel ist Sortieren nur nach der ersten wann-Zeile erlaubt. Unsichtbar ist die Wahl der Datentypen, wobei wir folgende verwenden:

Adreßangaben Datentyp Text bzw. Charakter
wann Datentyp Termin-Datum
Uhr Datentyp Termin-Zeit
wo, mit wem Datentyp Text

Die Postleitzahl könnte auch vom Datentyp Zahl sein. Dann wäre allerdings die Fragmentsuche nicht durchführbar. Für die Telefon-Nummer könnte man den Typ Dezimalzahl verwenden, dann wären Vorwahl und Nummer durch einen Dezimalpunkt zu trennen. Bei den benutzten Datentypen »Termin« handelt es sich um formatierte Ausgaben des Datentyps Zahl, die das Datenbankprogramm entsprechend behandelt. Die meisten Datenbankprogramme kennen auch einen Datentyp »Währung«, der eine formatierte Darstellung des Typs »Dezimalzahl« erlaubt. Die zulässige Länge der verwendeten Datentypen ist im Handbuch Ihres Datenbankprogramms beschrieben. Für die Länge von Adreßangaben müssen Sie beachten, daß Fensterkuverts Zeilenlängen von maximal 30 Zeichen Pica beziehungsweise 35 Zeichen Elite zulassen. Die Anordnung der einzelnen Felder sollte in der Reihenfolge der Eingabe von der Vorlage erfolgen. Wichtig ist auch, daß die Feldanordnung in der gleichen Form erfolgt, wie später Adreß- oder Listenausgaben aussehen sollen.

Beim Entwurf der Datenbankstruktur hatten wir als erstes eine Trennung von Adressen und Terminen durchgeführt. In Bild 3 sehen Sie die zugehörigen Masken. Die Adreßmaske blieb fast unverändert (graue Felder). »Name2« wurde in »Partner« umbenannt und durch ein weiteres Telefon-Nummern-Feld ergänzt (beide schwarz). Die Terminmaske zeigt nur noch einen Termin-Eintrag. Der waagerechte Pfeil hinter dem Namen-Feld in beiden Masken kennzeichnet die Verbindung zwischen den beiden Dateien.

Als nächstes hatten wir die Adreß-Datei in »Adress« und »Partner« aufgeteilt, um einer Adresse mehrere Partner zuzuordnen. Die Adreßmaske blieb unverändert, jedoch entfielen die Felder »Partner« und die zugehörige Telefon-Nummer. Wir finden sie in der Partnermaske wieder, gemeinsam mit dem Verbindungsschlüssel »Name«. Um diese Maske auch für Briefe benutzen zu können, fügen wir das Feld »Anrede« ein. Hier stehen Fragmente der Briefanrede, zum Beispiel »r Herr« oder »s Fräulein«.

Vor dieser Anrede muß man sich »Sehr geehrte« vorstellen, sodaß aus der Zusammenziehung dieses festen Anredebestandteils, dem individuellen Teil des Anredefeldes und dem Namensfeld die vollständige Briefanrede entsteht.

Maskeninhalt

Das Zustandekommen eines Maskeninhalts betrachten wir am Beispiel der Datei »Bestand«. Dazu benötigen wir:

Beachten Sie: Angaben zum Kraftfahrzeugtyp machen wir mit den Feldern »Typ«, »Leistung«, »Hubraum«, »Spitze«, »Kraftstoff«, »Verbrauch« und »Extras«. Angaben, ob es sich um einen Neu- oder Gebrauchtwagen handelt, lassen sich aus dem Feld »Tacho« ableiten. Kommissionswagen sind durch einen Zusatzeintrag im Typ-Feld gekennzeichnet. Angaben zu vereinbarten Terminen sind nicht unmittelbar eingetragen, können wir aber über die Verbindung »Typ« aus der Termin-Datei abrufen. Preisangaben stehen im Feld »Preis«. Die Anzahl der verfügbaren Wagen ist aus dem Feld »Anzahl« ersichtlich. Ob der Gebraucht-/ Kommissions-Wagen bereits verkauft wurde, steht im Feld »Vkf«.

Die Bestandsmaske ist laut Strukturentwurf mit den Dateien »Adress«, »Partner« und »Termin« verbunden. Ob für die Verbindung mit »Adress« und »Partner« ein Name-Feld ausreicht oder ob wir hier Name und Partner vorsehen müssen, hängt von Ihrem Datenbankprogramm und Ihren persönlichen Anforderungen ab. Sind Zugriffe auf »Adress« und »Partner« notwendig, benötigen wir beide Verbindungsfelder. Sind nur Zugriffe nach den Schemen »Adress <-> Bestand« oder »Partner <-> Bestand« erforderlich, kann ein Name-Feld ausreichen, sofern das benutzte Datenbankprogramm die Benutzung eines Verbindungsfeldes für zwei Verbindungen erlaubt. Um die Terminmaske für eine Anbindung an die Bestandsdatei zu ergänzen, bauen wir noch ein weiteres Verbindungsfeld »Typ« ein.

Bild 1. So könnte die Karteikarte zu unserem Beispiel aussehen
Bild 2. Die Maske faßt Vorder- und Rückseite der Karteikarte zusammen
Bild 3. Jetzt trennen wir die Adressen von den Terminen
Bild 5. Die Maske der Datei »Bestand« enthält alle wichtigen Angaben
Bild 6. »View« und »Join« sind Bildschirmdarstellungen aus mehreren Masken

View & Join

Mit den Funktionen »View« und »Join« lassen sich Bestandteile mehrerer logischer Dateien in einer Maske darstellen und in einem Arbeitsgang erfassen, ändern oder löschen.

»View« und »Join« sind zwar Bildschirmdarstellungen aus mehreren Masken, sie entstehen aber per Programmierung und nicht durch einen Maskenentwurf. Bild 6 zeigt das Muster einer solchen Ausgabe, bei der Bestandteile der Dateien »Partner«, »Termin« und »Adress« zusammengefaßt sind.

Handelt es sich um eine reine Bildschirmausgabe, spricht man vom »View«. Im Beispiel bleibt es dem Programmierer überlassen, ob und wie er anzeigen möchte, daß es zur Adresse gegebenenfalls mehrere Partner gibt, und wie von einem Partner zum anderen weiterzublättern ist. Die drei Terminfelder erscheinen nur dann, wenn es für den Partner auch mindestens drei Terminvereinbarungen gibt, andernfalls sind entsprechend weniger Terminzeilen zu sehen.

Ein »Join« stellt sich auf dem Bildschirm wie ein »View« dar, erlaubt aber die Eingabe beziehungsweise die Änderung oder das Löschen vorhandener Daten. Das ist nicht nur bequemer als das einzelne Erfassen, Ändern oder Löschen in den verschiedenen Einzeldateien, sondern bietet auch erhöhte Sicherheit. Beim »Join« brauchen wir in ein Verbindungsfeld nur einen Eintrag schreiben, die zugehörigen Verbindungsfelder der weiteren Dateien werden automatisch gefüllt. Ein weiteres Sicherheitsbedürfnis ergibt sich aus dem Umstand, daß Datensätze nachgeordneter Dateien nur dann gelöscht werden dürfen, wenn es zum vorgeschalteten Datensatz keine weiteren gibt.

Mit dem Entwurf von Datenbankstruktur und Masken ist der Denkprozeß abgeschlossen, der beim Planen einer Datenbank zu durchlaufen ist. In der Praxis findet der Denkprozeß seinen Niederschlag in einem Pflichtenheft. Den entsprechenden Aufbau für unsere Aufgabenstellung finden Sie in den Tabellen, die wir aus Platzgründen nur auf der TOS-Diskette zu dieser Ausgabe gespeichert haben. Mit dem Anlegen des Pflichtenheftes ist der Entwurf einer Datenbank beendet. Besitzen Sie noch kein Datenbankprogramm, dann bietet gerade ein solches Pflichtenheft die ideale Grundlage, um sich vom Fachverkäufer erschöpfend beraten zu lassen. (tb)

# Kursübersicht

Teil 1: Was ist eine Datenbank □ wichtige Unterschiede zwischen Kartei und Datenbank □ Vorbereitungsarbeiten

Teil 2: Entwurf der Datenbankstruktur □ Schlüssel und Verbindungen

Teil 3: Entwurf der Masken □ View and Join □ Pflichtenheft


Hans Körner
Aus: TOS 05 / 1991, Seite 64

Links

Copyright-Bestimmungen: siehe Über diese Seite