Im letzten Teil unserer Datenbankserie geht es um gaby, eine Datenbank aus Belgien. Ähnlich wie das Programm grok, das wir im letzten Heft [1] vorstellten, ist sie zum Sammeln aller möglichen privaten Informationen geeignet.
Gaby wird von Frederic Peters entwickelt, der das Programm schrieb, weil er es für unangemessen hielt, zum Verwalten einiger Adressen, Bücher oder anderer persönlicher Daten eine SQL-Datenbank zu installieren. Trotz grafischer Oberfläche ist es auch auf älteren Rechnern noch recht flott.
Das Frontend ist fast vollständig ins Deutsche übersetzt, wenngleich sich an wenigen Stellen noch englischsprachige Beschriftungen finden. Mit Hilfe der Skriptsprache Python lässt sich das Programm erweitern, allerdings gehen wir auf das Wie in diesem Artikel nicht näher ein.
Download und Installation
Auf der Gaby-Homepage [2] gibt es neben der neuesten Programmversion auch Informationen rund um die Mini-Datenbank und eine Hilfedatei. Neben den Quellen benötigen Sie zum Übersetzen des Programms noch GTK in einer Version ab 1.2.5 und GNOME.
Laden Sie von [2] die Datei gaby-1.9.21.tar.gz herunter, und entpacken Sie sie in einem Verzeichnis, in dem Sie Lese- und Schreibrechte haben:
tar -xvzf gaby-1.9.21.tar.gz
Sie können zum Dekomprimieren und Auspacken natürlich auch ein Programm wie ark oder guitar benutzen. Anschließend wechseln Sie in das neue Verzeichnis gaby-1.9.21.
Dank autoconf und automake sind Übersetzung und Einrichtung schnell erledigt. Sie geben dazu auf der Kommandozeile nacheinander die Befehle
./configure --enable-gui make
und als root
make install
ein. Die Option –enable-gui ist in Version 1.9.21 nötig, damit auch die grafische Oberfläche des Programms übersetzt wird.
Jetzt können Sie mit dem Befehl exit die root-Rechte wieder abgeben und das Datenbankprogramm durch Eingabe von gaby starten.
Das erste Mal
Beim ersten Programmaufruf werden Sie von einem Assistenten begrüßt, der das Programm und die dahinter stehende Idee kurz vorstellt (Abbildung 1).
Wenn das Programm ohne Parameter gestartet wird, wird eine Adressdatenbank geöffnet, mit Sie Ihre Adressen verwalten können (Abbildung 2).
Das Programmfenster ist in drei Teile gegliedert: Die Menüleiste, die Buttonleiste und die Formularansicht des aktuellen Datensatzes. Sie können Ihre Daten in zwei verschiedenen Modi betrachten: als Formular (also ein Datensatz pro Fenster) oder als Liste.
Es ist möglich, zur gleichen Zeit mehrere Ansichten einer Datenbank auf dem Bildschirm zu haben. In Abbildung 2 sehen Sie sowohl die Formularansicht der Adressdatenbank als auch eine Listenansicht. Die beiden Ansichten zeigen stets den gleichen Datensatz. Wenn Sie auf einen Datensatz in der Listenansicht klicken, wird dieser in der Formularansicht angezeigt.
Zwei Arten von Listen stehen zur Verfügung: einfache und erweiterte Listen. Letztere bieten ein Eingabefeld für einen Suchbegriff am unteren Rand des Fensters und die Möglichkeit, die Daten mit einem Mausklick auf die Tabellentitelzeile zu sortieren.
Schnellstart für Alltagsaufgaben
Wenn Sie Bücher, Videos, CDs oder Adressen katalogisieren wollen, finden Sie alles, was Sie dazu brauchen, schon auf Ihrer Festplatte. Die entsprechende Vorlage öffnen Sie über den Menüpunkt Datei | Databases, wo Sie die gewünschte Datenbank auswählen.
Eben so gut können Sie den Namen der aufzurufenden Datenbank gleich mit auf der Kommandozeile angeben:
gaby --as CDs &
beispielsweise öffnet die vorgefertigte CD-Datenbank namens CDs gleich beim Programmstart. Die vorhandenen Datenbanken finden Sie im Verzeichnis .gaby in Ihrem Home-Verzeichnis.
Dabei sind die beigelegten Templates von unterschiedlicher Qualität. Während die Adressdatenbank sehr gut benutzbar ist und über die Im- und Exportmöglichkeit von vCard-Daten auch den Austausch mit anderen Programmen ermöglicht, sind die anderen Datenbanken für den täglichen Einsatz nicht brauchbar. So funktioniert die CD-Datenbank noch nicht richtig. Interpreten und Songs können nicht wie vorgesehen in einem Formular eingegeben werden, man muss vielmehr in einem Formular den Interpreten und in einem anderen die auf der CD vorhandenen Lieder eintragen. In der Bücherdatenbank fehlen wichtige Felder wie Schlagwort und Bibliothek, um mit der Datenbank sinnvoll arbeiten zu können.
Daten eingeben und bearbeiten
Gaby wird fast vollständig per Maus bedient. Das ist manchmal etwas umständlich, so dass es schön wäre, wenn es zumindest für das Blättern in den Datensätzen Tastaturkürzel gäbe. Immerhin können Sie sich mit der Tabulator-Taste innerhalb eines Formulars von Feld zu Feld bewegen, was bei der Eingabe und Änderung von Datensätzen allerdings auch Voraussetzung für flüssiges Arbeiten ist.
Dieser Tätigkeit kann man ausschließlich in der Formularansicht nachgehen. Zum Eingeben eines neuen Datensatzes klicken Sie auf den Button Neu. Im Formular erscheint daraufhin ein neuer, leerer Datensatz. Da die Daten nicht automatisch gespeichert werden, sollten Sie sie regelmäßig mit dem Befehl Datei | Speichern auf die Festplatte bannen. Das ist auch deshalb angeraten, weil das Programm gelegentlich abstürzt und alle nicht gesicherten Daten dann verloren sind.
Um einen Datensatz zu löschen, klicken Sie auf den Button mit der Aufschrift Entfernen. Mit Hilfe von Zurück und Weiter blättern Sie in der Datenbank.
Sortieren, suchen und filtern
Was wäre eine Datenbank ohne Sortierfunktion? So lassen sich auch bei Gaby die Datensätze nach jedem vorhandenen Feld aufsteigend ordnen. Am schnellsten geht das in einer erweiterten Liste. Dort klicken Sie lediglich auf die Titelzeile des zu sortierenden Felds.
In der Formularansicht gelangen Sie über Sortieren in ein Menü, in dem Sie aus allen Datenbankfeldern das Feld aussuchen, das als Sortierschlüssel dienen soll (Abbildung 3). Nach dem Schließen und erneuten Öffnen der Datenbank zeigt Gaby die Datensätze allerdings wieder unsortiert an.
Wenn Sie die Daten nach einem Begriff durchsuchen möchten, wählen Sie Ansichten | Search und klicken auf die zu durchwühlende Ansicht. Im jetzt erscheinenden Dialog geben Sie den Suchbegriff ein, wählen das Feld aus und klicken auf Find. Der erste Datensatz, der den gesuchten Begriff enthält, wird im Formular angezeigt. Der Dialog bleibt geöffnet (Abbildung 4), damit Sie die Suche fortsetzen können.
Schneller geht es, eine erweiterte Liste zu durchsuchen: Am unteren Rand des Fensters finden Sie ein Textfeld, in das Sie einen Suchbegriff eingeben können. Sie müssen dazu nur noch das Feld auswählen, auf Suchen klicken, und der erste gefundene Datensatz in der Liste wird markiert. Ein weiterer Mausklick auf Suchen setzt die Suche fort.
Um Daten zu filtern wählen Sie Ansichten | Filter und das Formular, dessen Datensätze auf bestimmte Bedingungen hin untersucht werden soll. Im Filter-Dialog können Sie maximal zwei Felder und jeweils eine Filterregel auswählen (Abbildung 5), die mit logischem und oder oder verknüpft werden. Die Bedeutung der Filteroptionen erläutert Tabelle 1.
Tabelle 1: Filteroptionen.
| ist | Es werden die Datensätze heraus gefiltert, in denen der Wert des Felds auf der linken Seite mit dem auf der rechten Seite überein stimmt. |
| ist nicht | Es werden die Datensätze heraus gesucht, in denen der Wert des linken Felds nicht dem des rechten entspricht. |
| is more than | Holt die Datensätze heraus, in denen der Wert des links aufgeführten Felds größer als der rechts stehende Wert ist. |
| ist kleiner als | Es werden die Datensätze gefunden, in denen der Wert des linken Felds kleiner als der Wert auf der rechten Seite ist. |
| beginnt mit | Der Filter enthält die Datensätze, in denen das Feld auf der linken Seite mit dem rechts stehenden Wert beginnt. |
| hat | Im Filter bleiben die Datensätze, in denen das linke Feld den rechts stehenden Wert enthält. |
| Stimmt überein (Reg. Ausdruck) | Im Filter erscheinen die Datensätze, auf die der rechts angegebene reguläre Ausdruck passt. Diese Filteroption funktioniert noch nicht. |
Im- und Export
Gerade wenn man seine Adressen schon anderweitig gespeichert hat, will man sicher nicht noch einmal alles abtippen, nur, weil man jetzt Gaby verwendet. In der Import-Disziplin braucht sich das Programm auf den ersten Blick tatsächlich nicht zu verstecken: Unterstützt werden die Formate vCard, AdressBook, NoSQL und dbase III/IV. Doch die Enttäuschung folgt auf dem Fuße: Während das vCard-Format von Netscape, korganizer und kab leider nicht erkannt wird, lassen sich lediglich Daten aus dem GNOME-Adressbuch gnomecard problemlos einlesen. Die Formate Adressbook und NoSQL sind nicht besonders weit verbreitet, so dass sie für den Datenaustausch kaum Bedeutung haben werden. Der Import aus dbase-Dateien funktioniert hingegen einwandfrei.
Um Datensätze zu exportieren, wählen Sie Datei | Export. Ein Dialog erscheint, in dem sie die Tabelle auswählen, deren Inhalt Sie an anderer Stelle verwenden wollen. Zudem geben Sie einen Namen für die Datei an, die die Datensätze aufnehmen soll, und legen sich auf eins der Formate vCard, AdressBook oder NoSQL fest.
Zum Import wählen Sie Datei | Import und verfahren ansonsten wie beim Export.
Was eigenes
Gerade weil die mitgelieferten Vorlagen nicht allzu sehr überzeugen, ist der Gaby Description Builder (GDB) ein unersetzliches Werkzeug, mit dessen Hilfe Sie eigene Datenbanken und Eingabeformulare erstellen können.
Um eine neue Datenbank anzulegen, gehen Sie in zwei Schritten vor: Als Erstes definieren Sie die Struktur der Datenbank, als Zweites bestimmen Sie, wie die Daten angezeigt werden sollen.
Als Beispiel für eine selbst entwickelte Datenbank haben wir eine Rezeptdatenbank ausgewählt. In dieser Datenbank sollen der Name des Gerichts, das Herkunftsland, die Art (Vorspeise, Suppe…), die verwendeten Zutaten, die Zubereitung und die Zubereitungszeit gespeichert werden. In einer erweiterten Liste werden Art, Herkunftsland und Name des Gerichts zusammen gestellt.
Zu diesem Zweck rufen Sie GDB entweder über den Menüpunkt Datei | Databases | Create a new one… oder über den Befehl builder & auf der Kommandozeile auf (Abbildung 6).
Sie beginnen damit, eine Tabelle einzurichten. In einer Datenbank können mehrere Tabellen vorhanden sein. Auf der Seite Tables klicken Sie auf Tabelle hinzufügen und geben der neuen Tabelle einen Namen. In unserem Beispiel heißt die Tabelle Rezepte.
Jetzt definieren Sie nacheinander die Felder der Tabelle. Beginnen Sie mit dem Feld für den Namen des Gerichts Dazu klicken Sie auf Feld einfügen und taufen das neue Feld z.B. auf Name. Der Feldtyp String wird automatisch vergeben; falls Sie einen anderen Feldtyp einstellen möchten, klicken Sie auf Feld bearbeiten und ändern ihn in der Liste Typ. Eine Übersicht über die in gaby möglichen Datentypen finden Sie in Tabelle 2.
Um Ihre neu geschaffene Datenbank auf der Festplatte zu speichern, klicken Sie auf Speichern und geben ihr einen Namen. Die Dateien, in denen Gaby Tabellen abspeichert, beginnen stets mit dem Präfix desc., erst danach folgt der Tabellenname. So trägt die Beispieldatenbankdatei den Namen desc.Rezepte. Alle Tabellen und Datenbankbeschreibungen werden im Verzeichnis .gaby im Home-Verzeichnis der Benutzerin abgelegt.
Tabelle 2: Feldtypen.
| String | Nimmt kurze Texte auf. |
| Strings | Strings sind längere Texte, in anderen Datenbanken heißt dieser Feldtyp auch Memo. |
| Integer | Dient zur Aufnahme von ganzen Zahlen. |
| Real | Dieser Feldtyp ist für reelle Zahlen gedacht. |
| Date | Nimmt Datums- und Zeitwerte auf. |
| Boolean | Speichert die zwei Zustände wahr oder falsch. |
| Multimedia | Speichert Bilder, Soundclips oder Videos. |
Nach und nach legen Sie die Felder der Beispieldatenbank an, wie sie in Tabelle 3 beschrieben sind. Wenn Sie damit fertig sind, müssen Sie noch entscheiden, wie die Datensätze dargestellt werden sollen. Zunächst legen Sie zu diesem Zweck eine Untertabelle an, die die Felder enthält, die in einem Formular oder in einer Liste angezeigt werden sollen. Das erledigen Sie auf der Seite Subtables. Sie klicken auf Untertabelle hinzufügen und geben der neuen Untertabelle einen Namen, z.B. Rezepte-Alles für das Eingabeformular, das alle Felder enthalten soll. Im daraufhin erscheinenden Dialog bestimmen Sie, welche Felder in der Untertabelle erscheinen sollen. Da eine Liste oder ein Formular immer auf einer Untertabelle basieren, ist es zum Beispiel möglich, eine Untertabelle mit allen Feldern zur Dateneingabe zu erstellen und eine weitere, die nur die Felder Name, Art und Land enthält, die Sie sich gern übersichtlich in einer eigenen Liste anzeigen lassen wollen.
Tabelle 3: Die Felder der Beispieldatenbank.
| Feld | Feldtyp |
|---|---|
| Name | String |
| Land | String |
| Art | String |
| Zutaten | Strings |
| Zubereitung | Strings |
| Zeit | String |
Um eine Untertabelle zu bearbeiten, klicken Sie auf Untertabelle ändern. Im linken Teil des Dialogs sehen Sie zwei Listen. Die linke enthält die Felder, die in der Untertabelle enthalten sind, in der rechten sind die nicht enthaltenen Felder verzeichnet. Mit den Pfeilen können Sie die Felder von einer in die andere Liste kopieren.
Rechts sehen Sie eine Reihe von Optionen, die das Aussehen der Daten festlegen. Zur Zeit können Sie nur form für eine Formulardarstellung der Daten und list bzw. xlist für die einfache bzw. erweiterte Listendarstellung verwenden, die anderen Optionen funktionieren noch nicht bzw. führen zum Absturz von gaby. Sie können mehrere Optionen auswählen, um Daten auf verschiedene Arten anzeigen zu lassen (Abbildung 8).
Zu guter Letzt ist jetzt noch zu bestimmen, welches Formular oder welche Liste beim Programmstart angezeigt werden soll. Klicken Sie dazu auf den Smiley und anschließend auf Ansicht hinzufügen. Hier zeigt sich leider ein Fehler von GDB, es ist nur möglich, die erste Untertabelle der Liste Ansichten hinzu zu fügen. Diese Untertabelle wird dann beim Start angezeigt.
Den Lohn der Mühe, das Formular im fertigen Zustand, erscheint, wenn Sie auf den Button mit dem großen Auge klicken. Damit startet Gaby und lädt das Startformular (Abbildung 9).
Wenn sie zukünftig mit der Beispieldatenbank arbeiten möchten, starten Sie gaby mit dem Kommando gaby –as Rezepte&.
Was bleibt? Minidatenbanken im Vergleich
Damit sind wir am Ende unserer kleinen Serie über Datenbanken für den Hausgebrauch angekommen. Wir haben Ihnen vier Programme vorgestellt, eine Zusammenfassung der wichtigsten Programmeigenschaften finden Sie in Tabelle 4.
Alle Programme sind so unterschiedlich, dass es nicht möglich ist, eine Empfehlung auszusprechen. Am weitesten und stabilsten ist sicherlich grok, doch gaby folgt dicht dahinter. Hier trüben einige Abstürze mit Speicherzugriffsfehlern während des Tests den ansonsten positiven Eindruck.
Beide Programme eignen sich für das Verwalten von privaten Daten, wenn es im Rahmen von einigen hundert, vielleicht tausend Datensätzen bleibt. Zudem hat man die Möglichkeit, eigene Datenbanken zu entwickeln.
Quicklist ist mein Favorit für kleinste Datensammlungen, weil es schnell und unkompliziert zu bedienen ist. Relationale Verknüpfungen bietet keines der vorgestellten Programme. (pju)
Tabelle 4: Alle Mini-Datenbanken im Überblick.
(1): GCatalog stellt die Datensätze in einer Baumansicht dar und kennt daher keine Formular- oder Tabellenansicht.
Glossar
-
SQL
-
“Structured Query Language”, “strukturierte Abfragesprache”. Eine weitgehend genormte Sprache zum Abfragen und Bearbeiten von Datenbanken.
-
Quellen
-
Eine Sammlung von Anweisungen in einer Programmiersprache. Damit der Computer das damit beschriebene Programm ausführen kann, muss es noch übersetzt oder kompiliert werden.
-
GTK
-
Das “Gimp Toolkit”, eine Bibliothek zur Erstellung grafischer Programmoberflächen. Wie der Name schon sagt, wurde GTK ursprünglich für das Bildverarbeitungsprogramm Gimp geschrieben.
-
autoconf und automake
-
Programme, die aus einer Vorlage die zur Programmkompilierung auf einem bestimmten Betriebssystem notwendigen Makefiles erzeugen. Ausführlichere Informationen finden Sie dazu in den LinuxUser-Ausgaben im Linux-Magazin 03 (http://www.linux-magazin.de/ausgabe/2000/03/Make/make.html) und 04/2000 (http://www.linux-magazin.de/ausgabe/2000/04/Sourcecode/sourcecode.html).
-
vCard
-
Ein genormtes Format zum Austausch von Adressdaten, das z.B. von Organizern verwendet wird.
-
Relationale Verknüpfungen
-
Relationale Datenbanken sind Datenbanken, die aus mehreren miteinander verknüpften Tabellen bestehen.
Infos
[1] grok wurde im LinuxUser 09/2000 vorgestellt.
[2] Die Gaby-Homepage: http://gaby.netpedia.net/













