ComBase - Flexible Datenbank

Vom Heim-Verlag wird ein Datenbanksystem unter dem Namen ComBase vertrieben. Die Entwicklung erfolgte unter Regie der COMPO Software GmbH. Es ist nicht das erste Datenbanksystem auf dem ATARI-Software-Markt, die Konkurrenz ist mittlerweile mächtig. Mit diesem Test soll geklärt werden, oh ComBase dieser Konkurrenz Standbalten kann.

ComBase wird mit einer Diskette und einem schätzungsweise 500 Seiten starken Handbuch ausgeliefert. Das Handbuch führt in die Installation. die Grundlagen, die allgemeine Bedienung sowie die Verarbeitung von Algorithmen ein.

Bevor wir ComBase näher betrachten, schauen wir in das Tagebuch eines Anwenders, Entwicklers und Testers. Dort könnten folgende Eintragungen zu finden sein, die auch die ersten Schritte des Tests widerspiegeln.

„Erster Tag: Heute ist das Päckchen mit ComBase angekommen! Voller Neugier das Handbuch ausgepackt und flüchtig betrachtet. Ganz schön dick! Aber zu Anfang zuviel zu lesen. ATARI-Programme sind mittlerweile recht einfach zu bedienen, zumindest die grundlegenden Dinge klappen auch ohne Handbuch. Folglich die Diskette eingelegt, Verzeichnis geöffnet - und dann kam ein kleiner Schreck: drei Dateien auf der Diskette: LIESMICH.TXT, COMBASE.TOS und FLASHACC.TOS. Naja, LIESMICH.TXT kann man ja mal lesen. Es könnte ja etwas Wichtiges darin stehen. Erst einmal kommt eine lange Liste von Bugfixes und Neuerungen diverser Versionen, obwohl mich eigentlich gar nicht interessiert, was bei irgendwelchen alten Versionen so alles falsch war. Unter anderem finde ich glücklicherweise den Hinweis, daß die Installation so erfolgen kann, wie es im Handbuch beschrieben wird. Da ein Installationsprogramm fehlt, ziehe ich das Handbuch zu Rate. Auf Verdacht kopiere ich die beiden Programmdateien schon mal auf die Festplatte. Die Vermutung liegt nahe, daß diese gepackt sein könnten.

Dort steht auch, daß die bereits kopierten Dateien genau richtig waren. Zwar heißt LIESMICH.TXT im Handbuch LIESMICH, aber das macht ja nichts. Soweit, so gut. Wie ich aus den Installationshinweisen erfahre, besteht ComBase aus zwei Teilen: ComBase und FlashAccess. Ich installiere erst einmal den ersten Teil, denn es steht ja nicht da, daß das Accessory FlashAccess (der Datenbankkern) auch installiert werden soll.

Eine Maske wird erstellt.

Nach einigem Kopieren ist ein Verzeichnis COMBASE auf der Festplatte angelegt. Voller Neugier starte ich das Programm. Kurz nach dem Laden meldet sich das Programm mit „FlashAccess ist nicht installiert! ComBase trotzdem starten? (Führt zu BOMBEN-ABSTURZ bei Datenbankzugriff!)“. Ich denke mir nur. daß sich hier noch einige Anwender freuen werden, wenn das Programm freundlicherweise mit den Atari-üblichen Bömbchen abstürzt. Ich versuche es trotzdem einmal, denn ich kann nicht glauben, daß die Fehler nicht abgefangen werden. Ein Menü erscheint, ich klicke einen Eintrag an - und tatsächlich, das Programm stürzt ab! Also neu booten und FlashAccess neu installieren ...

Nach dem Entpacken der Datei FLASH-ACC befindet sich ein Ordner namens FA_SYS auf der Festplatte. Darin ist ein Programm, welches auf eine Konfigurationsmöglichkeit schließen läßt. Also starte ich dieses. Es erscheint ein ungewöhnliches, meiner Meinung nach nicht gerade schönes Menü. Mit dem Programm kann ich aber so auf den ersten Blick nichts anfangen, also verlasse ich es wieder.

Nun aber der wichtige Schritt: FA22.ACC wird auf Laufwerk C: kopiert und wieder neu gebootet. Aber beim Hochfahren des Rechners erscheint die Meldung, daß ei ne Resource-Datei fehlt. „Wieso fehlt einem Accessory eine Resource-Datei?“ frage ich mich, denn seit TOS 1.04 dürfte den Entwicklerinnen und Entwicklern klar sein, daß ein Accessory keinen dynamischen Speicher langfristig reservieren darf , also auch keine Resource-Dateien laden darf. Beim Verlassen der alternativen Shell GEMINI erscheint seit der Nutzung von FlashAccess auch die Meldung, daß noch zwei Dateien geöffnet seien. (Wie sich bei einem Telephonat mit COMPO später herausstellt, hält FlashAccess ständig zwei Dateien geöffnet.)

Nun suche ich nach der Resource-Datei, kopiere sie nach C: und hoffe, daß alles gut geht. Also neu gebootet und der nächste Versuch. Beim Start des Rechners stellt das Accessory nun fest, daß irgendeine Systemdatei fehlt. Auf Verdacht kopiere ich diese auch noch nach C:. Ich erhalte nun zwar schon wieder eine Fehlermeldung, die (in englischer Sprache) fragt, ob ich denn eine neue Systemdatei anlegen wolle, aber egal, ob ich diese wünsche oder nicht, es erscheint anschließend die gleiche Fehlermeldung. Mein Drang, diesen Fehler zu ergründen, halt sich in Grenzen.

Mittels Pfeilen lassen sich Relationen erstellen.

Nach nunmehr einigen Anlaufen gelingt es mir tatsächlich. Com Base zu starten. Es erscheint ein Fenster, ein Menü und auf dem Desktop ein Text mit dem Titel „Terminal". Ich schaue erst einmal überall herum, die Texte auf dem Desktop werden immer mehr. Ich schließe die Fenster. Die Texte auf dem Desktop bleiben und im Menü nur der Titel SSWiS, aber kein Menüpunkt zum Verlassen des Programms. Auf Verdacht klicke ich auf die Texte und siehe da, die Fenster kommen wieder! Bei dem Init-Modul gibt es zwar ein Menü, in dieser Einstellung jedoch kann man die Menütitel zwar anklicken, aber leider erhält man nur einen Hinweis, daß die Drop-down-Menüs nicht aktiv seien. Warum ich die Einträge in den Drop-down-Menüs nicht wählen darf, bleibt mir verborgen. Nach dem Öffnen fast aller Fenster und der Anwahl eines Menüpunktes „Verlassen“ bleiben noch zwei Texte auf dem Desktop. Der eine ermöglicht es mir nicht, ein Fenster durch Doppelklick auf den Text zu öffnen und der andere heißt „Terminal“. Unter Terminal finde ich noch ein Fenster mit einer Begrüßungsmeldung und einigen Fehlermeldungen, die dort angezeigt werden. Da mir der Text nicht klar ist, schließe ich das Fenster wieder. Mit Control-Alternate-Delete verlasse ich das Programm und boote wieder neu.

ComBase ist auch für den TT gedacht, also betrachte ich den Programm-Header, um einmal zu sehen, ob die Bits für den alternativen Speicher meines TTs gesetzt sind. Immerhin möchte ich die 6 MB (2 MB ST-,4 MB alternativen Speicher)auch ausnutzen. Sie sind es nicht, also setze ich sie. Danach starte ich wieder ComBase, um zu sehen, ob das Programm schneller läuft. (Der alternative Speicher auf dem TT ist schneller als der ST-Speicher.) Aber nun weiß ich, warum die Bits nicht gesetzt waren: das Programm stürzt direkt nach dem Laden ab. Nach einigem Probieren gelingt mir die Feststellung, daß ich zwar Speicher aus dem alternativen RAM anfordern darf, das Programm selbst muß jedoch im ST-Speicher laufen. Naja. Für den ersten Tag ist mir die weitere Lust auf einen neuen Test vergangen, ich werde mich doch erst dem Handbuch widmen.

Zweiter Tag: Die grobe Lektüre des Handbuchs ergab, daß das Accessory FlashAccess direkt auf C: installiert werden muß. Das behagt mir zwar nicht, da ich nie auf C: (als Boot-Partition) direkt installiere, aber FlashAccess funktioniert dann wenigstens.

Als ersten Schritt wähle ich aus dem Kapitel „Konzeption" das Anlegen der ersten Datei, um ComBase kennenzulernen. Alles klappt gut, etwas arg störend ist jedoch gleich beim Anlegen des Beispielkommentars, daß auf meinem TT in mittlerer Auflösung partout der Cursor nicht in den Masken erscheinen will. Außerdem kann ich den Zeichensatz nicht einstellen, obwohl Zeichensätze via GDOS geladen sind. Und in der Dateiauswahlbox schlägt mir ComBase immer einen leeren Dateinamen (kein Name, nur eine Extension) vor, obwohl Namen dieser Art gar nicht legal sind. Irgendwie macht das INIT Modul einen nicht ausgereiften Eindruck.

Mit etwas Fleiß ist das erste Ziel erreicht! Die erste Datenbank ist fertig. Es war zwar manchmal etwas Sucherei, was wo einzustellen ist, aber geklappt hat es! Auch die Eingabe der Werte klappt. Nun kann es endlich losgehen

Soweit zum Tagebuch. Betrachten wir ComBase nun näher. ComBase basiert auf dem Fensterverwaltungssystem SSWiS. Das Fensterverwaltungssystem ist auch vom SPC Modula-2 und dessen Nachfolger her bekannt. Es erfordert etwas Umgewöhnung. denn die Vorteile eines Quasi-Multitaskings über SSWiS (basierend auf den Modula-2-eigenen Coroutinen) werden von Nachteilen überschattet. Die Bedienung des Programms ist nicht so, wie man es von GEM-Programmen. die sich an die etablierten Standards halten, gewohnt ist. Der erste Schritt einer Anwenderin oder eines Anwenders ist also die Gewöhnung an das modular aufgebaute Datenbanksystem.

ComBase ist unterteilt in die Module INIT zum Erstellen einer Datenbank, REL zum Aufbau von Relationen, MASK zur Bearbeitung der Daten. LIST zur Erstellung von Listen, XPORT zum Transferieren von Daten und PAPYRUS zur formatierten Ausgabe von Daten. Außerdem sind ein Manual und ein Editor dabei. Diese Vielzahl von Modulen wird über die SSWiS/ComBase-Oberfläche angesteuert.

Vielfältige Möglichkeiten heim Im-und Export von Daten

Das INIT-Modul...

... ist das Modul, mit dem man zuerst Kontakt hat. Hier wird interaktiv die Datenbank angelegt. Deren Anlegen erfolgt über eine Maske, die eine 1:1 -Darstellung der Datenbank ist. Die Masken sind deren zentraler Bestandteil. Neben diesen 1:1-Masken ist es jedoch auch möglich, sogenannte Clone-Masken anzulegen, die nur noch einen Teil der Daten oder zusätzlich Daten einer anderen Datenbank beinhalten. Außerdem lassen sich virtuelle Masken generieren, die unabhängig von einer Datenbank zur Verfügung stehen.

Als Datentypen stehen Text, Zahl, Langzahl, Datum, Zeit, Dezimal, Geld, Boolean und Extern zur Verfügung, wobei der Geldtyp nur eine Variante des Dezimaltyps ist. Der Datentyp Extern dient zum Starten von SPC-Modula-2-Programmen, sogenannten Jobs. Ein Datentyp BLOB (Binary Large Object), der mehr und mehr Verbreitung findet, ist ebensowenig zu finden wie ein Datentyp für Bilder, die jedoch über Jobs eingebunden werden können. Die übliche Zusammenfassung von Datum und Zeit zu einem Zeitpunkt fehlt ebenso.

Für Texte lassen sich wichtige Einstellungen wie Farbe und Zeichensatz treffen, Format wünsche insbesondere für die Zahlentypen bleiben jedoch offen. Die Auswahl eines Zeichensatzes war im Test jedoch trotz über GDOS geladene Zeichensätze nicht möglich.

Makro-Buttons ermöglichen, bestimmte Funktionen wie den automatischen Eintrag des aktuellen Datums oder der Zeit fest zu verdrahten. Dies ist praktisch, gerade wenn man bedenkt, wie häufig bei bestimmten Anwendungen nur das aktuelle Datum einzutragen ist.

Zur Auflockerung der Masken wartet ComBase mit einem Grafikteil auf, der das Einfügen von Grafikflächen (Rechtecke mit oder ohne abgerundeten Ecken, mit diversen Füllmustern und Farben) ermöglicht. Bilder oder andere Grafikfiguren lassen sich nicht in die Masken aufnehmen.

Der Funktionsvorrat beschränkt sich nicht nur auf die Felder und Grafikflächen, sondern reicht sogar bis zu Push- Radiobuttons und Checkboxen, die für bestimmte Funktionen und Aufgaben praktischer sind als eine Texteingabe. Der Aufbau der Datenbank verfügt über alle notwendigen Möglichkeiten (inklusive der Indizierung).

Das Ausgabemodul Papyrus

Relationen

Mit dem Modul REL werden verschiedene Datenbanken miteinander verknüpft. Die Verbindungen - in ComBase auch Relationen genannt - erfolgen zum Zwecke des Datenaustauschs und des Mischens. Verbinden lassen sich alle Datenbanken, die in sogenannten Worksheets zusammengefaßt sind.

ComBase verfügt über zwei Arten von Relationen: zum Verzweigen von einem Schlüsselfeld einer Datenbank in das einer anderen und zum Exportieren aus der einen Datenbank in eine andere.

Verbindungen zum Erhalt der referentiellen Integrität fehlen. Sie sind also nicht in der Lage, beispielsweise Löschregeln wie bei relationalen Datenbanken aufzubauen. Die Verbindungen sind somit weniger leistungsfähig, als man sich dies von einer relationalen Datenbank erhoffen würde.

Der Aufbau der Verbindungen erfolgt mit der Maus innerhalb eines Fensters. Sie werden grafisch dargestellt. Mit dieser Methode ist es einfach, den Überblick zu bewahren.

Datenverwaltung

Das MASK-Modul ist nicht dazu da, andere Masken anzulegen. Diese Aufgabe hat bereits das INIT-Modul übernommen. Das MASK-Modul als zweiter zentraler Bestandteil von ComBase neben dem INIT-Modul ermöglicht die Verwaltung der Daten. Hierzu gehören alle wichtigen Aktionen wie Darstellung, Eingabe, Änderung und Suche.

Die Masken werden in Fenstern dargestellt, sogar ein Clipboard wird unterstützt. Es handelt sich dabei jedoch nicht um das GEM-übliche. Ein Datenaustausch mit anderen Programmen ist folglich nicht möglich.

Die Auswahl der zu bearbeitenden Datensätze erfolgt über ein Drop-Down-Menü, bei dem nur relativ wenig Wahlmöglichkeiten bestehen. Es kann über alle Schlüsselfelder auch in Verbindung mit Wildcards (* und ?) ausgewählt werden. Die Möglichkeiten werden noch durch sogenannte Tief- und Hochwassermarken erweitert, wobei diese die Angabe einer Unter- und einer Obergrenze ermöglichen. Die Kombination unterschiedlichster, unter anderen komplexer Auswahlkriterien, auch über Nicht Schlüsselfelder ist nicht möglich.

Die Masken lassen sich voll über Tastatur steuern, was besonders geübteren Personen entgegenkommt.

Eine Datenbanksprache ist in ComBase integriert.

Aufgelistet

Das LIST Modul befähigt ComBase dazu, die Inhalte der Datenbanken als Liste auszugeben. Die Darstellung erfolgt in tabellarischer Form. Wie bei dem MASK-Modul ist auch hier die Angabe von Auswahlkriterien möglich. Praktisch ist die Einstellmöglichkeit der Schriftgröße, die jedoch nicht die Fähigkeiten des GEM widerspiegelt.

Der Datenim- und -export erfolgt über das XPort-Modul. Voraussetzung für die Nutzung dieses Moduls innerhalb eines Worksheets ist das Vorhandensein von Verbunden. Über XPort können jedoch auch Daten mit anderen Datenbanken ausgetauscht werden. Dem Datenaustausch steht also nichts entgegen, solange auch ComBase in der Lage ist, entsprechende Daten zu verarbeiten.

Die Einstellung der Parameter erfolgt individuell, eine Anpassung an die Daten-formate diverser anderer Systeme geht problemlos vonstatten.

Ausgabe

Papyrus ist das Ausgabemodul von ComBase (und in diesem Falle nicht die Textverarbeitung eines anderen Software-Vertriebs). Es verarbeitet fremderstellte ASCII und 1st Word Plus-Dateien. Als Serienbriefdruck steht der von 1st Word Plus zur Verfügung. Neben der Serienbrieffunktion kann die Ausgabe auch als Liste oder Tabelle erfolgen. Die Format Dateien von 1st Mail (Serienbriefprogramm von 1st Word Plus) sind verwendbar. Neben den bekannten Formatanweisungen dürfen noch weitere in Papyrus zusätzlich integrierte wie die bedingte Ausgabe genutzt werden. Bei einfachen Serienbriefen bleibt kein Wunsch offen, mehr - beispielsweise Proportionalschrift - darf man jedoch nicht erwarten.

ComBase verfügt über einen eigenen Editor, der für diverse Zwecke benötigt wird. In erster Linie ist er zum Schreiben und Bearbeiten von Algorithmen gedacht, ereignet sich aber auch zum Beispiel zum Bearbeiten von Programmquelltexten.

Der Editor verfügt über alle notwendigen Eigenschaften eines Editors wie Blockoperationen oder Suchen und Ersetzen. Die Blockoperationen wurden nicht gemäß dem GEM-Standard implementiert, an den sich mittlerweile viele Programme halten. Etwas Eingewöhnung ist folglich nötig. Die gewohnte Tastaturbelegung Control+X/C/V für Cut/Copy /Paste ist nicht wiederzufinden.

Eine Tabulatorfunktion ist implementiert, sie beschränkt sich auf 8 Zeichen Breite und läßt sich nicht verändern. Ein Modula-2-Support erlaubt ferner eine Unterstützung beim Schreiben von Modula-2-Quelltexten. auch wenn dies für die Datenbank relativ unerheblich ist.

Einige Funktionen des Editors sind nicht über die Menüzeile erreichbar. Zu diesen Funktionen gehören die Spaltennummernanzeige oder auch eine Makrofunktion.

ComBase verfügt über ein kontextsensitives Manual, welches jede wichtige Unterstützung bietet. Das Manual ist sehr nützlich, wirkt jedoch etwas unfertig, da beispielsweise aus mehreren Wörtern zusammengesetzte Schlüsselbegriffe keine Leerzeichen enthalten, sondern mit Unterstrichen verbunden werden.

Integrierte Sprache

Neben dem Dialogteil von ComBase ist noch ein mächtiger Programmierteil implementiert. Mit ihm lassen sich die sogenannten Algorithmen erstellen. Der Sprachumfang deckt alles ab, was man sich von einer Programmiersprache wünscht. Dazu gehören Schleifen, bedingte Anweisungen und auch Unterprogramme.

Die Befehle gliedern sich in mehrere Gruppen: Datenbankbefehle (beispielsweise Insert, Delete, Update, First, Last), Maskenbefehle (wie Get Mask, Show Mask, New, Export), Ausgabebefehle (etwa Alert, Write(Ln), Print), Ausgabeumlenkung (Set Printer/Terminal/Serial/Text-file), Kontrollbefehle (zum Beispiel If..Else.., While..EndWhile, GoSub), Eingabebefehle (wie Answer, Askfile, Pop Selection), Umgebungsbefehle (beispielsweise Send, Rm, Exist) sowie eine Reihe von Operatoren und Funktionen.

Allgemein fällt bei ComBase auf, daß die Begriffswelt nicht mit der der relationalen Datenbanken übereinstimmt. Begriffe mit festen Bedeutungen wie Tabellen, Datenbank und Spalten werden anders benutzt. Das Relationenmodell sowie das Konzept der Regeln (beispielsweise mit kaskadiertem Löschen) über Primär- und Fremdschlüssel findet sich kaum wieder. ComBase macht einen etwas unfertigen Eindruck. Die Gestaltungsregeln für GEM-Programme sind kaum eingehalten, die Benutzung ist insgesamt zwar nicht kompliziert, dafür aber an einigen Stellen (beispielsweise bei der Auswahl von Daten) relativ umständlich.

Für die Nutzung der Datenbank über eine Programmiersprache wäre ein SQL-Interpreter oder die Möglichkeit der Nutzung von QBE (Query by Example) wünschenswert.

Die Datenbanken werden dialogorientiert angelegt. Die Benutzung der Masken ist nicht kompliziert. Die starke Aufgliederung in INIT-, REL- Mask-, List- und XPort-Modul sowie Papyrus zur Ausgabe und einen Editor zum Bearbeiten von Dateien macht eine Benutzung von ComBase etwas mühsam.

Besonders interessant ist die Möglichkeit, mit ComBase Algorithmen zu programmieren. Die leistungsfähigen Algorithmen erlauben eine vielfältige Nutzung der Datenbank und sind praktisch anzuwenden.

Ein Vergleich mit anderen auf dem Markt angebotenen Datenbanken ist ratsam, um vor einem Kauf entscheiden zu können, ob ComBase den gestellten Anforderungen genügt.

Bezugsadresse:
HEIM-Verlag
Heidelberger Landstraße 194
W-6100 Darmstadt


Dietmar Rabich
Aus: ST-Computer 09 / 1992, Seite 62

Links

Copyright-Bestimmungen: siehe Über diese Seite