Daten-Organisierer
Datenbanken mit Rekall
Export
Gelegentlich kommt jeder in die Verlegenheit, Daten mit anderen Anwendern austauschen zu müssen. Wenn der Kollege oder Freund ein anderes Datenbankprogramm verwendet, gilt es dann, die Daten in ein anderes Format zu bringen. Rekall unterstützt Sie dabei mit dem Copier, einer frei konfigurierbaren Konvertierungsroutine.
Die Daten aus der Tabelle artikel wandeln Sie in ein semikolongetrenntes Textformat um, indem Sie im Rekall-Hauptfenster den Karteireiter Copy auswählen und auf New Copier klicken. Im nun erscheinenden Copy-Dialog legen Sie fest, welche Daten Sie in welches Format umwandeln möchten. Der linke Teil des Dialogs enthält die Quelle des Konvertierungsvorganges: eine Datei (File), eine Datenbanktabelle (Table) oder eine SQL-Anweisung (SQL). Im rechten Teil des Dialogs stellen Sie das Konvertierungsziel ein: Table, File und (zum Speichern der Daten in einer XML-Datei) XML.
Beim Export einer Tabelle wie artikel kommt in der linken Hälfte des Dialogs der Karteireiter Table zum Einsatz (Abbildung 15). Hier wählen Sie den Server zeitschriften und im Pop-Down-Menü rechts daneben die Tabelle artikel. In der Liste unterhalb des Servers erscheinen daraufhin alle Felder der Datenbank. Sie wählen die zu exportierenden Felder, indem Sie den Feldnamen links markieren und auf Add >> klicken. Das Export-Format bestimmen Sie, indem Sie in der rechten Hälfte des Copier-Dialogs den Karteireiter File auswählen. Die Spalten der Tabelle sollen durch Semikola getrennt werden, also suchen Sie aus dem Pop-Down-Menü den Punkt Delimited heraus. Als Delimiter nehmen Sie das Semikolon; die Liste Qualifier enthält Zeichen zur Markierung eines Textinhaltes: Bei der Einstellung in Abbildung 15 werden alle Textstrings in Hochkommata gesetzt. Das Feld File/Error füllen Sie mit dem Namen der Ausgabedatei.
Den Export in dieses File starten Sie, indem Sie in der Werkzeugleiste auf das zweite Symbol von links (die beiden Quadrate mit dem Pfeil) klicken. Mit File / Save aus dem Menü erhalten Sie die gewählten Konvertierungsinformationen für spätere Export-Aktionen. Diese finden Sie später hinter dem Karteireiter Copy im Rekall-Hauptfenster.
Um Daten in eine XML-Datei umzuwandeln, wählen Sie im rechten Teil des Copier-Dialogs den Karteireiter XML. Ins Feld Main document tag schreiben Sie den Namen des Root-Elements der XML-Datei (im Beispiel ist das datenbank). Das Feld Row element tag nimmt das Tag zur Einleitung eines Datensatzes auf, wir haben ihm den Namen datensatz verpasst. Die einzelnen Elemente des Datensatzes übernehmen Sie durch Klicken auf Set from table. Sobald Sie einen Namen für die XML-Export-Datei vergeben haben, konvertieren Sie die Daten durch Klicken auf das "Execute Copy"-Symbol mit den zwei Quadraten in der Werkzeugleiste. Einen Ausschnitt der aus der Tabelle artikel erzeugten XML-Datei zeigt Abbildung 17.
Fazit
Rekall ist ein hervorragendes Programm zum Arbeiten mit Datenbanken. Wenn Sie keine Lust oder Zeit haben, sich in SQL einzuarbeiten, können Sie damit einfache Datenbanken auf den gängigsten Open-Source-DBMS realisieren. Die Möglichkeit, das xbase-Datenformat zu verwenden, erlaubt es sogar, Datenbanken ohne Einsatz eines Servers zu entwickeln.
Für Fortgeschrittene besteht die – in diesem Artikel nicht angesprochene – Möglichkeit, das Programm mit Python-Skripten zu erweitern: Hier hilft ein Blick in die englischsprachige Online-Hilfe weiter.
Die grafischen Hilfsmittel Formular-, Berichts- und Abfragedesigner verkürzen die Entwicklungszeit und machen es möglich, schnell zu einer gut aussehenden und funktionierenden Anwendung zu kommen. Voraussetzung für die Weitergabe einer Rekall-Datenbank ist allerdings, dass auch auf dem Rechner, auf dem die Datenbank laufen soll, Rekall installiert ist.
Leider fehlte uns die Zeit, Rekall 1.0 einem längeren Stabilitätstest zu unterziehen, sodass wir zu diesem Punkt bei Redaktionsschluss keine Aussage treffen konnten. Die Vorgängerversionen 0.6 und 0.7 neigten zu gelegentlichen Abstürzen.
Für die nahe Zukunft angekündigt ist eine gegen Qt 3.0.x gelinkte Ausgabe des Programms als auch eine auf KDE basierenden "Light"-Version mit leicht eingeschränktem Funktionsumfang, die beispielsweise keine verschachtelten Formulare unterstützt. Es bleibt also spannend…
Glossar
SQL
"Structured Query Language", eine weitgehend genormte Abfragesprache für Datenbanken.
Quelltext
Eine Sammlung von Anweisungen in einer Programmiersprache, die (bei kompilierten Sprachen) mit Hilfe eines Compilers übersetzt werden müssen, ehe das Betriebssystem sie ausführen kann.
xbase
Bezeichnung für das dbase-Datenbankformat, das besonders in der DOS- und Windows-Welt immer noch weit verbreitet ist.
Unix-Zeit
In einem Unix-System wird die Zeit berechnet, indem die Sekunden seit dem ersten Januar 1970 gezählt werden.
Python
Eine plattformübergreifende Skriptsprache (vgl. http://www.python.org/), die nach der britischen Komikertruppe Monty Python benannt ist.
Infos
[1] http://www.thekompany.com/
[2] ftp://ftp.rygannon.com/pub/RekallDemo/
[3] Andreas Bauer: "Daten fest im Griff", LinuxUser 12/2001, S. 68 ff.
[4] Wolfgang Kruck: "Datenchaos", Linux-Magazin 01/2000, S. 130 ff., http://www.linux-magazin.de/ausgabe/2000/01/MySQL/mysql.html



