Inhalt
1. Datenbanken entwickeln 2. Die Struktur
von PNAT 3. Die Startseite von
PNAT
4. Die Datenbankmasken - Übersicht
5. Die einzelnen Dateien 6.
Der "Parser"
Datenbank - Anwendungen entwickeln
Datenbank und Datenbank - Anwendung
Datenbank - Anwendungen bestehen meist aus einem oder mehreren
Programmen, die auf eine Datei zugreifen, in der die Daten gespeichert
werden.
Zwar gibt es z.B. in Access auch die Möglichkeit, Anwendung
und Daten in einer einzigen Datei zu speichern. Eine
solche Anwendung kann i. d. R. nicht weiterentwickelt werden -
ein externer Programmierer müßte dazu die ganze Datenbank
mit allen Datensätzen bekommen. Und natürlich ist eine
solche Anwendung nicht mehrplatzfähig.
Es muß nicht immer Access sein ...
... von FoxPro über Btrieve bis zu SQL-Server gibt es
zahlreiche Datenbanken, die für PC - Anwendungen - und das
bedeutet heutzutage praktisch immer (noch) Windows - geeignet
sind.
Access hat meines Erachtens einige Vorteile:
- Die Lizenz für Forschung und Lehre ist preiswert.
- Die Datenbank - Engine JET, die unter der etwas spröden
Benutzeroberfläche von Access arbeitet, ist seit JET 3 (zB.
mit Access95) "erwachsen" geworden. Auf Details soll
hier aber nicht eingegangen werden.
- Die Access - Anwendung greift über Jet auf die Access
- Datenbank (*.mdb) zu. JET läßt sich von den meisten
modernen Programmiersprachen (Visual Basic, VC++, Smalltalk,
Java usw.) direkt programmieren, ohne daß Access selbst
benutzt wird.
- Access-Datenbanken lassen sich über ODBC- Treiber auch
indirekt bearbeiten (Stichworte Java, Intranet).
- Mit wenigen Zeilen Programm - Code kann von anderen Office-Anwendungen
auf eine Access-Datenbank zugegriffen werden. (z.B. mit Excel)
- Ein späteres Upgrade auf eine echte Client-Server-Anwendung
ist verhältnismäßig einfach, wenn auf eine Tabellen
-orientierte Anwendung verzichtet wird.
Tabellen - orientierte Anwendungen
Datenbanken enthalten meist mehrere Dateien, die oft als "Tabellen"
bezeichnet werden. Die einzelnen Datensätze sind in solchen
Tabellen gespeichert.
Erhebliche Unterschiede bestehen darin, wie auf diese Tabellen
zugegriffen wird: Entweder
- direkt auf die Tabelle, oder
- mittels der Abfragesprache SQL gezielt auf benötigte
Datensätze.
Beispiel: Der letzte Datensatz der Datei "Ärzte"
soll angezeigt werden:
- Bei einer Tabellen - orientierten Anwendung wird die Tabelle
geöffnet. Im Client - Server - Betrieb bedeutet das, daß
die gesamte Datei (das können mehrere Megabyte sein)
über das Netz transportiert und auf der lokalen Festplatte
gespeichert wird. Anschließend wird der Datensatzzeiger
vom Anfang der Datei bis zum letzten Satz bewegt.
- Wird dagegen eine entsprechende SQL-Anfrage gestartet ("SELECT
* FROM Arzt WHERE ArztNr = (Select max(ArztNr) from Arzt); "),
wird nur der tatsächlich benötigte letzte Datensatz
über das Netz transportiert und gleich angezeigt.
Tabellen - orientierte Anwendungen in Access benützen
meist auch sog. "bound controls". Das sind Textfelder,
die dynamisch mit dem angezeigten Datensatz verbunden sind (Wenn
Sie eine Datei in der Formularansicht in Access öffnen, benutzen
Sie automatisch "bound controls"). Mit "bound controls"
läßt sich zwar schnell entwickeln; auf lange Sicht
bringen sie mehr Ärger als Nutzen: Geben Sie doch mal in
ein Datumsfeld den 1.5.28 ein - Access97 denkt, das sei der 1.5.2028;
zeigt das aber nicht an.
Das Verhalten von "Bound controls" läßt
sich vom Programmierer kaum beeinflussen. In PNAT kann z. B. zur
Eingabe eines Datums die numerische Tastatur (der Ziffernblock
auf der rechten Seite der Tastatur) benützt werden; das Komma
wird automatisch in einen Punkt umgewandelt. Bei "bound controls"
müßte dagegen auf der alphanumerischen Tastatur tatsächlich
ein Punkt eingegeben werden. Darüber hinaus benötigen
"bound controls" verhältnismäßig viel
Hauptspeicher.
Um Mißverständnissen vorzubeugen: Eine Abfrage-
(SQL-) orientierte Anwendung ist nicht automatisch besser als
eine Tabellen-orientierte mit "bound controls". Und
für reine Einzelplatz - Anwendungen lohnt sich der Mehraufwand
bei der Programmierung möglicherweise gar nicht.
Tabellen-orientierte Anwendungen schnell entwickeln
Es gibt kein Einzelkriterium, anhand dessen der "Wert"
einer Datenbank - Entwicklung festgestellt werden könnte.
Ein Programmierer kann bereits mit wenigen Grundkenntnissen eine
für den unbedarften Benutzer eindrucksvolle Anwendung erstellen:
- In Access werden Tabellen, Felder, Indizes und evtl. SQL
- Abfragen definiert.
- In Visual Basic Pro 5 wird der Application Wizard
gestartet und die Datenbank eingebunden. So hat man in weniger
als einer Stunde das lauffähige Gerüst einer DB - Anwendung.
- Der Application Wizard hat z.B ein MDI - Programm
erstellt (MDI = Multiple Document Interface;
Word dürfte die bekannteste MDI-Anwendung sein),
das in jedem Fenster eine eigene Datei (wahlweise mit Datensatzmaske
oder in Tabellenform) anzeigt, mit den entsprechenden Buttons
zum Blättern, Einfügen, Löschen, Modifizieren
usw. Der Programmierer ersetzt die automatisch generierten Kommentare
im Quelltext durch eigenen Code und fügt je nach Bedarf
zusätzlichen Code hinzu.
- Dann wird ein Report-Generator gestartet, um Briefe oder
Listen zu definieren.
- Abschließend wird das ganze durch den Setup-Wizard
geschickt, um ein Setup - Programm auf Disketten zu erstellen.
- Die Anwendung wird über die Setup - Disketten auf einem
"sauberen" Rechner installiert (d. h., ein Rechner,
der keine der Laufzeit - Bibliotheken der Anwendung enthält)
und getestet.
So hat man - je nachdem, wieviel zusätzliche Arbeit in
die Entwicklung gesteckt wird - in ca. 2 Tagen bis etwa 2 Wochen
ein "professionell" anmutendes Programm.
Seitenanfang