Adimens-Prog, das Profiwerkzeug für relationale Datenbanken

Wer A(tari ST) sagt, sagt meistens auch *A(dimens ST), wenn es um professionelle Datenverwaltung geht. Adimens ST, das relationale Standard-Datenbank-Programm für Atari ST-Computer hat bis heute fast 10000 zahlende Anhänger (und ungezählte »Nebennutzer«) gefunden. Das Adimens ST-System steht inzwischen auf mehreren starken Beinen. Das erste (und kräftigste) Bein bildet die Universal-Datenbank Adimens ST mit funktionaler Benutzeroberfläche von höchstem GEM-Komfort. Als zweites Bein verpaßte der Hersteller ADI seinem System mit Aditalk ST eine programmierbare dialoggesteuerte Datenbank.

Wie das berühmte »Männlein im Walde« vermag Adimens zwar auf jedem dieser Beine sehr gut alleine zu stehen, doch im alltäglichen Datenbank-Reigen tanzt es sich bekanntlich auf zwei Beinen bedeutend besser: Die normale Datenverwaltung ist mit dem universellen Adimens ST bequem zu erledigen, für spezielle Anforderungen bedient man sich kleiner (oder auch größerer) Aditalk-Programme.

Eine Adimens-Datenbank besteht in der Regel aus mehreren logischen Dateien, in denen thematisch aufeinander bezogene Datenbankmerkmale zusammengefaßt sind. Über gemeinsame Schlüsselfelder verzweigt man zwischen den verschiedenen logischen Dateien der Datenbank.

Adimens-Programme zur Bearbeitung solcher Datenbanken sind modular aufgebaut. Neben den Datenbank-Bearbeitungsmodulen »Exec« und »Talk« sind die Universalmodule »Init«, »DRC« und »Reorg« von besonderer Bedeutung. Init übernimmt den Aufbau der Datenbankstruktur und der Ein-/ Ausgabe-Masken und erlaubt die spätere Erweiterung und Anpassung der Datenbank. DRC wandelt die Maskendefinitionen der logischen Dateien in eine GEM-Ressource-Datei mit Dialogboxen um. Reorg schließlich reorganisiert vorhandene Datenbestände nach einer Veränderung der Datenbankstruktur, etwa nach Einfügen oder Löschen von Schlüsselfeldern.

Adimens ST und Aditalk ST basieren auf einer bei ADI in Karlsruhe entwickelten Routinen-Bibliothek für Datenbankprogrammierung. Der sogenannte Datenbank-Kern »Adimens-Prog« bildet die Grundlage für Adimens-Datenbanken auf verschiedenen Computerbetriebssystemen von MS-DOS bis Unix. Derartige Routinen-Sammlungen gehören normalerweise zu den eifersüchtig gehüteten Betriebsgeheimnissen von Software-Firmen.

Die drei Prog-Fassungen für GFA-Basic, ST-Pascal plus und C, runden als »drittes« Standbein das Adimens-Datenbank-Konzept ab. Spezialaufgaben wie zum Beispiel Meßwerterfassungen oder die Verarbeitung komplexer Datenstrukturen lassen sich als Adimens-Datenbank verwirklichen. Die mit solchen Spezialprogrammen erfaßten und verarbeiteten Daten sind ohne Anpassungsprobleme direkt in die universellen Programme Adimens ST und Aditalk ST übertragbar und können in der gewohnten Bedienungsumgebung bearbeitet und benutzt werden.

Adimens-Prog richtet sich weniger an den reinen Datenbank- Anwender als vielmehr an die Datenbank-Programmierer.

Adimens-Prog-Anwendungen sind ADI zur Genehmigung vorzulegen und dürfen weder mit Adimens ST noch mit Adimens-Prog konkurrieren. Die Lizenzgebühren für die Vermarktung von Programm und vorgefertigten Datenbasen — eine Datenbasis läßt sich nur mit Hilfe von Init entwerfen — sind im Kaufpreis von Adimens-Prog bereits enthalten. Sollen darüber hinaus die Zusatzmodule Init-Spei-cherplatz (ein abgemagertes Init-Modul) und Reorg zur Erweiterung und Reorganisation der Datenbasis zum Lieferumfang gehören, muß man eine Pauschallizenz von 1800 Mark pro Applikation bezahlen oder seinen Kunden den Kauf von Adimens ST oder Aditalk ST empfehlen, denen ein Satz der Universal-Module beiliegt.

Jede der drei Adimens-Prog-Implementationen stellt zirka 160 Routinen zur Verfügung, die in drei Gruppen zu unterteilen sind. Mit den Datenbankfunktionen lassen sich Datenbanken öffnen und schließen, Datensätze suchen, lesen, ändern und schreiben. Ferner stehen Routinen zur Verfügung, die Informationen über die Struktur der Datenbank ermitteln. Daher kann man auch in Spezialapplikatio-nen ein bestimmtes Ausmaß an Variabilität der Datenbankstruktur programmieren.

Die zweite Gruppe von Routinen bildet die sogenannte UTIL-Umgebung. Hier stehen eine Reihe von Hilfsmitteln bereit, die das Verschieben und Füllen von Speicherbereichen, komplexe Stringoperationen, Schnittstellenbedienung etc. erlauben.

Sehr interessant ist die dritte Gruppe, die GEMPROG-Funk-tionen. Diese enthalten sehr leistungsfähige Routinen für GEM-Applikationen. Einige Unterprogramme vereinfachen den normalen Umgang mit dem AES in erheblichem Maße. So läßt sich zum Beispiel eine Dialogbox mit nur einem einzigen Aufruf programmieren (normalerweise benötigt man dazu fünf Aufrufe). SETPTEXT und GETPTEXT erlauben den Zugriff auf die Tedinfo-Strukturen der Dialogbox.

Komplexere Unterprogramme bringen ein komplettes Desktop auf den Bildschirm. Das gezeichnete Desktop enthält dabei für jede Datei der Datenbank ein Icon. Außerdem sind Icons für Klemmbrett, Import, Export, Mischen, Drucken und für den Mülleimer vorhanden. Am unteren Bildschirmrand befinden sich Symbole für die zehn Funktionstasten.

Mit Hilfe weniger Befehle läßt sich die Belegung der Funktionstasten ändern oder sogar eine Manipulation der Icons (Anklicken oder Verschieben) realisieren. Weitere Routinen übernehmen den kompletten Umgang mit den speziellen Dialogboxen einer Datenbank. Wie schon bereits erwähnt erzeugt das Modul DRC eine Ressourcedatei, in der sämtliche Masken einer Datenbank als Dialogboxen vorliegen. Es existieren Routinen, die diese Dialogboxen auf den Bildschirm bringen. Man übergibt ihnen den Puffer mit dem aktuellen Datensatz und erhält als Ergebnis den Wahlknopf, mit dem die Dialogbox verlassen wurde. Im Puffer steht der eventuell geänderte Datensatz. Dies alles wäre ohne Adimens-Prog ein schönes Stück Arbeit. Mit Prog dagegen ist der gesamte Vorgang in einer einzigen Zeile programmierbar.

Die GEMPROG-Funktionen haben jedoch noch weitere Glanzstücke zu bieten. Wer schon einmal mit Adimens ST gearbeitet hat, kennt sicherlich die komfortable Auswahl- und Rechen-Definition durch Anklicken von Wahlknöpfen und Editfeldern in einer Dialogbox. Selbst diese komplexen Datenbankfunktionen stellt Adimens- Prog den Programmierern in einfachster Manier zur Verfügung. Die Ansteuerung und Auswertung der mausorientierten Wahldefinition erfordert nicht mehr als eine einzige Befehlszeile, die eine Zeichenkette mit der »zusammengeklickten« Definition zurückgibt. Diese Zeichenkette und der Datensatzpuffer als Übergabeparameter für einen weiteren Funktionsaufruf liefern die Information darüber, ob die Wahldefinition auf den aktuellen Datensatz zutrifft oder nicht.

Die Arbeitsgeschwindigkeit der Prog-Routinen entspricht unabhängig von der gewählten Programmiersprache dem von Adimens ST oder Aditalk ST her bekannten hohen Niveau.

Zum Lieferumfang jedes der drei Adimens-Prog-Pakete gehören zwei doppelseitig formatierte Disketten und ein über 400 Seiten starkes Handbuch. Die Handbücher sind nahezu identisch und beschreiben alle Prag-Funktionen sehr ausführlich. Bis auf wenige Ausnahmen beziehen sich die Beschreibungen auf die C-Version von Adimens-Prog, dem »Urvater« der verschiedenen Implementierungen. Syntax und Parameterübergabe der verschiedenen Funktionen entsprechen C-Konventionen.

Weniger lobenswert sind die Ausführungen zu den speziellen Implementationen für die drei Programmiersprachen. Die Handbuch-Autoren »gönnen« gerade den Basic- und Pascal-Programmierern nur wenige Seiten Aufmerksamkeit. Die Anweisungen zur Installation der GFA-Basic-Version verweisen in kurzen Sätzen kommentarlos auf die Beispiellistings der Programmdisketten.

Bei gleichem Funktionsumfang besteht ein grundsätzlicher Unterschied zwischen den Prog-Implementierungen für Mark-Williams-C einerseits und für GFA-Basic und ST-Pascal plus andererseits. Die C-Version setzt sich aus Library-Dateien zusammen, die der C-Compiler dem Programm beim Linken hinzufügt. Die notwendigen Deklarationen der Funktionen und der Konstanten geschieht in den beigefügten Headerfiles. Es entstehen Programme, die beim Anwender ohne besondere Vorbereitungen lauffähig sind.

Adimens-Prog für GFA-Basic und ST-Pascal Plus sind nach einem anderen Prinzip verwirklicht. Der Kern des Systems, der alle Prog-Routinen enthält, ist in eine Accessory-Datei gepackt, die beim Starten des Computers gebootet werden muß. Dabei legt der ST im Speicher eine Sprungtabelle für die einzelnen Routinen an, über die anschließend die Funktionsaufrufe erfolgen. Jede Adimens-Datenbank-Applikation erfordert die vollständige speicherresidente Routinensammlung.

Positiv zu Buche schlägt die einfache Installation, da lediglich das Accessory auf Bootlaufwerk oder Bootpartition zu bringen ist. Ferner erlaubt das Accessory-Konzept eine einfache Anpassung verschiedenster Programmiersprachen an Adimens-Prog. Jede Sprache, die Maschinensprache-Routinen über Sprungtabellen aufruft, macht die Datenbankfunktionen von Adimens zugänglich. Es bedarf lediglich der geeigneten Programmroutinen zur Bestimmung der Sprungadressen.

Negativ ist zu verzeichnen, daß dieses Accessory eine Dateigröße von etwa 140 KByte besitzt und insgesamt doppelt soviel Speicher im ST-RAM belegt. Bei einem Rechner mit 1 MByte Hauptspeicher beanspruchen der GFA-Basic 2.0-Interpreter (Adimens-GFA-Prog arbeitet mit dem neuen GFA-Basic 3.0 noch nicht zusammen) und die Prog-Accessory ungefähr die Hälfte des gesamten Speichers. An das Arbeiten mit einer RAM-Disk ist in dieser Konfiguration erst gar nicht zu denken.

Bei der GFA-Basic-Version von Adimens-Prog werden die Adressen der Routinen mit einem LPEEK-Befehl ermittelt. Zwei Unterprogramme übernehmen die komplette Installation. Leider sind diese Unterprogramme nicht separat auf den Disketten zu finden, sondern nur in zwei Beispiellistings (die Prozeduren »L« und »Lets« in den Programmen »AUF_TOS. BAS« und »AUF.BAS«) enthalten. Eine Dokumentation über die Installation fehlt.

Die Implementation für ST-Pascal Plus ist besser geraten. Die Adressen der Routinen ermittelt die beigefügte Link-Datei »ADIPAS.O«. Alle nötigen Deklarationen finden sich in den mitgelieferten Include-Dateien. Die Dokumentation liefert das Handbuch.

Beim Entwurf von Programmen muß man natürlich darauf achten, alle benötigten Routinen und Konstanten zu deklarieren. Dies läßt sich in vielen Fällen durch das Einbinden der mitgelieferten Dateien bewerkstelligen. Die diversen Beispielprogramme geben wichtige Hinweise für die korrekte Datenbankprogrammierung in der jeweiligen Programmiersprache.

Auch hinsichtlich der Beispielprogramme unterscheidet sich die C-Version deutlich von den beiden Accessory-Progs. Das wohl komplexeste Programm stellt eine abgemagerte Fassung des Exec-Moduls von Adimens ST dar, das als Quelltext zum Lieferumfang von Adimens-C-Prog gehört. Hier sind zahlreiche Prag-Funktionen im Programmzusammenhang aufgezeichnet. Als Datenbank steht die Campingplatzverwaltung aus dem Adimens ST-Paket zur Verfügung.

Auf den Disketten der Pascal-und der Basic-Umsetzung findet man eine Auftragsverwaltung in der jeweiligen Programmiersprache. Die dazugehörige Datenbank stammt aus dem Aditalk-Paket.

Adimens-Prog läßt sich überall dort erfolgreich einsetzen, wo die Flexibilität universeller Datenbanken auf Grenzen stößt und wo Programmierer eine Programmiersprache so professionell beherrschen, daß sie eigene Applikationen schreiben können. Die in Adimens-Prog angebotenen Routinen vereinfachen die Programmierung erheblich und haben sich in der Testphase als sehr zuverlässig erwiesen. Bei aller Einfachheit der Datenbankprogrammierung sei jedoch betont, daß Adimens-Prog in den drei angebotenen Sprachimplementierungen ein ausgesprochenes Profiwerkzeug darstellt. (W. Fastenrath/uh)

Vertrieb: Markt & Technik Verlag AG, Hans-Pinsel-Str. 2, 8013 Haar bei München

Steckbrief

Steckbrief
Produktname: Adimens-Prog
Preis: 199 Mark
Hersteller: ADI
Stärken:
* kompatibel zum ST-Datenbankstandard * flexible Anpassung an Spezialprobleme * breites Programmiersprachenspektrum * komfortable Programmierung von Datenbankfunktionen
Schwächen:
* Routinenaccessory belegt viel Speicherplatz * Dokumentation der Implementationen für Basic und Pascal verbesserungswürdig

Michael Bernards
Aus: ST-Magazin 08 / 1988, Seite 46

Links

Copyright-Bestimmungen: siehe Über diese Seite