Große Datenbanksysteme erschlagen häufig mit mehr Funktionen, als man im Alltag tatsächlich benötigt. Die schlanken Datenbanken Kexi und Glom bringen einen begrenzten, aber sinnvollen Funktionsumfang mit.
Anwendern stehen die Funktionen einer ausgewachsenen relationalen Datenbank meist nicht direkt zur Verfügung, da das Administrieren in der Regel Root-Rechte voraussetzt. Wer aber dennoch mehr als eine einfache Tabelle benötigt, der findet mit Glom [1] und Kexi [2] zwei Programme, die das Aufsetzen einer Datenbank und Erstellen von Abfragen und Berichten erlauben.
Beide Applikationen ähneln sich sehr stark in Bezug auf das Einsatzgebiet. Sie übernehmen Vorarbeiten und erzeugen Datenbankschemata sowie Auswahlmasken. Das Ziel beider Programme besteht darin, auch Anwendern ohne Datenbank-Kenntnisse mit wenig Aufwand erste Ergebnisse zu ermöglichen.
Kexi kommt aus dem Dunstkreis von Calligra, der Office-Suite des KDE-Projektes, Glom stammt aus dem Gnome-Umfeld. Beide Programme zählen längst nicht mehr zu den Unbekannten und gelten als recht stabil. Kexi steht zum Beispiel direkt als Paket in den Repositories von Debian, Ubuntu, Red Hat/Fedora und Mandriva/Mageia bereit. Glom gibt es bislang über die Webseite des Projektes als Download für Ubuntu, Fedora und Mandriva. Beide Programme richten Sie problemlos über den jeweiligen Paketmanager ein.
Ähnliche freie Projekte sind OpenOffice/LibreOffice Base [3],[4], H2 [5] und DBDesigner 4 [6]. Im kommerziellen Umfeld stehen unter anderem Microsoft Access, Filemaker (Pro) für Mac OS X beziehungsweise iPad [7] und Oracle Forms [8] mit Glom und Kexi im Wettbewerb.
Anbindung
Kexi bietet eine Anbindung an die Datenbanken MySQL, PostgreSQL und SQLite. In der Standardinstallation speichert es die Daten in einer SQLite-Datenbank und legt diese als Datei im Home-Verzeichnis des Benutzers ab. Damit kann nur dieser selbst auf die Datenbank zugreifen.
Glom hingegen lagert die Daten in einer PostgreSQL-Datenbank, die es entweder im Home-Verzeichnis des Benutzers abspeichert oder zentral auf dem System bereit stellt. Dabei nutzt das Programm lediglich eine Untermenge der PostgreSQL-Funktionen und kann daher nur die Tabellen verändern, die es selbst angelegt hat. Verwenden mehrere Benutzer Glom, kommen sie in Bezug auf die genutzte PostgreSQL-Datenbank also nicht miteinander in Konflikt.
Kexi
Kexi orientiert sich optisch an den anderen Calligra-Anwendungen und startet zunächst einen Assistenten (Abbildung 1). In diesem Dialogfenster wählen Sie über die Karteireiter aus, ob Sie ein neues Projekt anlegen möchten oder ein bereits existierendes fortsetzen möchten.

Abbildung 1: Beim Start von Kexi hilft ein Assistent beim Anlegen einer neuen Datenbank oder bearbeiten eines gespeicherten Projekts.
Bei einem Neustart stehen ein leeres Dokument, der Bezug von Daten über eine Vorlage und der Import der Daten aus einer bestehender Datenbank zur Auswahl. Für das Bearbeiten bestehender Projekte beziehen Sie die Projektdaten entweder von einem Datenbankserver (MySQL, PostgreSQL, xBase) oder aus einer lokalen Datei. Abbildung 2 zeigt die Auswahl mit den von Kexi in lokalen Dateien unterstützten DB-Formaten.
Danach öffnet sich ein Fenster mit einer dreigeteilten Ansicht. Oben befindet sich die Menü- und Navigationsleiste. Hier öffnen und schließen Sie Projekte, erstellen Datenbankschemata in Form von Tabellen und SQL-Abfragen, gestalten Dialogfenster und Reports und im- und exportieren Daten sowie Datenbankinhalte.
Der Projektnavigator auf der linken Seite zeigt in einer Baumstruktur eine Übersicht aller Tabellen, SQL-Abfragen, Dialoge, Berichte (Reports) und Skripts aus diesem Projekt. Der zentrale Bereich in der Mitte des Fensters beinhaltet die Details zu der jeweils ausgewählten Tabelle, SQL-Abfrage oder Dialogbox. Das exakte Aussehen dieses Teils der Oberfläche hängt von dem Objekt ab, das Sie gerade modifizieren.
Legen Sie die einzelnen Felder einer Tabelle fest (Karteireiter Design), so sehen Sie an dieser Stelle editierbare, in Zeilen angeordnete Eingabefelder. Zusätzlich erscheint auf der rechten Seite der Eigenschaften-Editor, über den Sie die einzelnen Felder noch genauer spezifizieren (Abbildung 3).
Über den Karteireiter Data wechseln Sie in den Darstellungsmodus, um die Tabelle mit Daten zu füllen. Es erscheinen – entsprechend der Anzahl der Felder der Tabelle – editierbare Eingabefelder, die zeilenweise angeordnet sind (Abbildung 4).
Beim Bearbeiten einer SQL-Abfrage (Karteireiter SQL) zeigt Kexi ein mehrzeiliges Eingabefeld. Schlüsselwörter hebt die Applikation hervor, sodass Sie auch bei komplexen Abfragen den Überblick behalten. Bei Bedarf prüfen Sie über die Schaltfläche Check Query, ob die Abfrage gültig ist. Falls ja, erscheint unter dem Eingabefeld ein Häkchen mit dem Hinweis The query is correct.
Um zu überprüfen, ob Sie die richtigen Tabellen verknüpft haben, schalten Sie über den Karteireiter Design in einen visuellen Modus um (Abbildung 5). Kexi erlaubt es, über den Karteireiter Data die SQL-Abfrage abzusetzen, und zeigt das Ergebnis an. Das entspricht der gewohnten Ausgabe eines Datenbankmonitors in etwas ansprechender Form.

Abbildung 5: Bei Bedarf über prüfen Sie mit einem Mausklick überprüfen Sie die Verknüpfung der Tabellen untereinander.
Der Funktionsumfang von Kexi umfasst das Erzeugen der Tabellen (Felder und Daten), das Erzeugen der (SQL-)Abfragen sowie das Auswerten der Ergebnisse, beispielsweise über erzeugte Eingabefelder oder einen Report. Unglücklicherweise haben die Entwickler die letzteren beiden kaum dokumentiert, und deren Einsatz und Integration sind nicht sofort verständlich.
Im Alltagsgebrauch traten weitere Effekte zutage, die es beim Betrieb von Kexi zu beachten gilt: Ändern Sie beispielsweise das Schema einer bestehenden Tabelle nachträglich, dann schreibt die Applikation einen Teil der SQLite-Datenbank komplett neu. Dabei gehen die Daten zur geänderten Tabelle allerdings verloren.
Textfelder definiert Kexi zunächst mit einer Länge von 200 Zeichen. Diese Größe verändern Sie nachträglich über den Eigenschaften-Dialog. Darüber hinaus speichert das Programm erst beim Schließen eines Projekts alle Inhalte (Tabellen, Daten, SQL-Abfragen). Es fehlt eine Schaltfläche, um die Daten auch zwischenzeitlich zu sichern.
Die lokalen Projektdaten speichert Kexi im Datenbankformat SQLite. Das eröffnet die Möglichkeit, mit dem Werkzeug SQLite3 die Kexi-Dateien über die Kommandozeile zu durchstöbern und gegebenenfalls zu korrigieren. Das hilft bei der Fehlersuche, zudem blicken Sie so bei Bedarf hinter die Kulissen der Datenbank.
Insgesamt hinterlässt Kexi einen eher durchwachsenen Eindruck. Produktiv eignet es sich für kleine Projekte und Datenmengen. In Teilen wirkt Kexi noch sehr instabil – das betrifft besonders die Versionen der Serie 1.0. Ab der Version 2.0 hat sich diesbezüglich viel Positives getan. Im Test kam die Version 2.3.3 unter Xubuntu 11.10 zum Einsatz.
Glom
Beim Start von Glom öffnet sich ebenfalls ein Assistent, der Sie über die nächsten Schritte hinweg begleitet (Abbildung 6). Er bietet die Auswahl zwischen dem Öffnen eines bestehenden Dokuments und dem Erzeugen eines neuen Projekts an. Bei ersterer Auswahl besteht die Möglichkeit, das Dokument über das Netzwerk zu beziehen oder eine lokale Datei zu laden.
Ein neues Projekt legen Sie entweder als leeres Dokument oder auf der Grundlage einer der mitgelieferten Vorlagen an. Die Vorlagen enthalten bereits recht komplexe Beispiele mit Tabellen, Verknüpfungen und Reports. Diese helfen Ihnen unter Umständen, herauszufinden, wo überall in Glom es etwas einzutragen gilt. Danach legen Sie eine Bezeichnung sowie den Dateinamen für das Projekt fest. Zusätzlich geben Sie den Titel und Typ der Datenbank an – lokal oder auf einem externen Datenbankserver (Abbildung 7).
Im nächsten Schritt legen Sie das Schema der Datenbank fest. Dazu definieren Sie zunächst die einzelnen Tabellen. Im Dialogfenster öffnet der Knopf Hinzufügen eine neue Zeile mit Eingabefeldern und fügt eine neue Tabelle hinzu (Abbildung 8). Löschen entfernt die Tabelle, die Sie aus der Liste ausgewählt haben. Der Knopf Öffnen zeigt das Glom-Hauptfenster mit der zuvor ausgewählten Tabelle, in dem Sie nun die Details (Felder und Feldformat) eingeben.
Das Glom-Hauptfenster verfügt über eine Menüleiste, über die Sie die meisten Aktionen direkt erreichen. Die verfügbaren Schaltflächen hängen vom Modus ab, in dem sich die Applikation befindet. Im Entwicklermodus dürfen Sie das Datenbankschema ändern, im Operatormodus hingegen nur Daten eingeben. Die entsprechenden Menüpunkte zum Ändern des Schemas erscheinen dann ausgegraut. Sie können den Modus über den Menüpunkt Entwickler | Operatormodus beziehungsweise Entwicklermodus umschalten. Unterhalb des Menüs zeigt die Applikation alle Informationen zur aktuell ausgewählten Tabelle an.
Um die Felder und Feldformate für eine Tabelle festzulegen, wählen Sie zunächst die gewünschte Tabelle über Tabellen | Tabellenname aus. Über den Menüpunkt Entwickler | Felder öffnen Sie ein separates Fenster für die Felddefinitionen (Abbildung 9). Mit dem Knopf Löschen entfernen Sie das ausgewählte Feld aus der Liste.
Über den Knopf Hinzufügen ergänzen Sie die Angaben zu einem Feld. Dabei entspricht die Spalte Name dem Objektnamen des Feldes im Datenbankschema. Hinter Titel verbirgt sich der Name des Feldes, der als Spaltentitel in der Tabellenübersicht erscheint. Den Feldtyp setzt die Applikation per Default auf numerisch.
Ein Klick auf das Typfeld öffnet ein Kontextmenü, über das Sie den Wert ändern. Zur Auswahl stehen die Typen Text, Datum, Uhrzeit oder Bild. Über die Schaltfläche Öffnen gelangen Sie zu einem weiteren Dialog, der Ihnen die Möglichkeit bietet, noch detailliertere Angaben zu einem Feld zu machen, beispielsweise einen Vorgabewert oder das Zahlenformat.
Haben Sie alle Felder festgelegt, bestimmen Sie über den Menüpunkt Entwickler | Layout die Reihenfolge und Anzeige der Felder in der Tabelle. Die Reihenfolge oder Position in der Ansicht verschieben Sie über die entsprechenden Schaltflächen. Über den Schalter Löschen entfernen Sie ein Feld.
Die Anzeige eines Felds (Textfarbe, Schriftart) legen Sie über den Knopf Formatierung fest. Der Knopf Bearbeiten öffnet das bereits beschriebene Fenster zum Bearbeiten der Details eines Feldes. Der Knopf Feld hinzufügen öffnet einen Dialog mit einer Auswahlliste der bereits definierten Felder (Abbildung 10). Der Knopf Auswählen fügt das in der Liste ausgewählte Feld hinzu.
Haben Sie alle Tabellen definiert und mit Werten gefüllt, stehen die komplexeren Aktionen an. Glom gestattet über den Menüpunkt Bearbeiten | Suchen (oder über die Tastenkombination [Strg]+[F]) eine Suche in den Daten. Diese erstreckt sich über die gesamte Tabelle, bei einem oder mehreren Treffern reduziert sich die Anzeige auf die entsprechenden Zeilen.
Mit der Schaltfläche Alles suchen, die oben rechts neben der Anzahl Treffer erscheint, heben Sie den Filter wieder auf. Ein Klick auf den Kopf einer Spalte sortiert die Tabelle entsprechend der ausgewählten Spalte, ein weiterer Klick wechselt von auf- zu absteigender Sortierung.
Glom bietet keine Möglichkeit, Aktionen auf den Tabellen mittels SQL-Kommandos auszuführen, also Tabellen auszugeben oder miteinander zu verknüpfen. Die Schnittstelle zu Python, die Sie über Entwickler | Skriptbibliothek erreichen, haben die Entwickler bislang nur lückenhaft dokumentiert. Ähnliches gilt für die Relationen zwischen den Tabellen (Entwickler | Beziehungen dieser Tabelle) und die Berichtsfunktion (Entwickler | Berichte). Wie bei Kexi fehlt eine Schaltfläche zum Speichern der Daten im laufenden Betrieb, erst beim Schließen des Projekts sichert die Software alle Inhalte.
Im Test lief Glom in der Version 1.20.7 unter Xubuntu 11.10. Im Alltagsgebrauch fällt an der Applikation positiv die lückenlos ins Deutsche übersetzte Benutzeroberfläche auf. Zudem integrierten die Entwickler ein gut gegliedertes und verständliches Handbuch in die Glom-Oberfläche, das in einem separaten Fenster erscheint.
Derzeit eignet sich die Software hervorragend für kleinere Projekte, beispielsweise für ein Adressbuch oder für eine Aufgabenverwaltung. Das Verknüpfen von Tabellen würde Glom für größere Projekte fit machen, wie etwa für eine kombinierte Kunden- und Rechnungsverwaltung.
Fazit
Kexi und Glom präsentieren sich als vielversprechende, aufstrebende Werkzeuge, die den Einsatz einer Datenbank für Einsteiger in die Materie bereits jetzt vereinfachen. Beide Projekte bedürfen noch etwas Feinschliffs, eignen sich aber schon jetzt für kleinere Projekte. Mit kommerziellen Anwendungen wie Filemaker (Pro) oder Oracle Forms können sich beide noch nicht messen, was ja aber in der Zukunft nicht so zu bleiben braucht.
Infos
[1] Kexi: http://kexi-project.org
[2] Glom: http://www.glom.org
[3] OpenOffice Base: http://www.openoffice.org/de/product/base.html
[4] LibreOffice Base: http://de.libreoffice.org/product/libreoffice-base/
[5] H2: http://www.h2database.com
[6] DBDesigner 4: http://www.fabforce.net/dbdesigner4/
[7] Filemaker: http://www.filemaker.de
[8] Oracle Forms: http://www.oracle.com/technetwork/developer-tools/forms/overview/
[] Der Autor bedankt sich bei Wolfram Eifler für seine kritischen Anmerkungen und Kommentare im Vorfeld dieses Artikels.













