Datenbank-Frontends gehören sicherlich zu den am häufigsten wieder neu erfundenen Rädern. Auch unter Linux herrscht kein Mangel: Da gibt es erstens Clients, die meist in der Gefolgschaft eines Datenbankservers auf die Festplatte gelangen. Zweitens finden sich weniger spezialisierte Versionen im Tross der Desktop-Software - man denke etwa an Knoda [1] oder Rekall [2].
Verwandte dritten Grades sind im Gefolge der großen Office-Suiten anzutreffen, Kexi [3] etwa oder das Open-Office-Datenbankmodul. Dazu gesellen sich, viertens ungezählte, mehr oder weniger gelungene, Projekte in TCL, Perl oder Python. Außerdem, fünftens, die recht ausgereiften Datenbankwerkzeuge aus der Java-Küche wie Isql-Viewer [4] oder Aqua Data Studio [5].
Als sei dies nicht genug, gibt es das Gleiche nun zusätzlich auch in Gestalt von Eclipse-Plugins. Ebenfalls im Dutzend: freie und kommerzielle Software wie RM Bench [6], datenbankunabhängige wie Quantum [7] und Spezialisten wie die IBM Cloudscape Workbench [8], universelle Klienten und solche von Eclipse abstammender IDEs sowie fast jede Permutation der Unterarten.
Dass Masse nicht gleich Klasse ist, fällt sofort auf, wenn man sich ein wenig durch das Angebot testet. Dennoch finden sich Vertreter, die durchaus eine Existenzberechtigung als Eclipse-Zusatz nachweisen können. Zwei dieser kostenlosen, datenbankübergreifenden Plugins bringen die folgenden Seiten näher: das Entwurfswerkzeug Clay von Azzurri Limited [9] und den erwähnten freien SQL-Editor Quantum [7].
Beide können jene Vorteile ausspielen, die Datenbank-Plugins generell für sich verbuchen. Erstens die kurzen Wege: Wer ohnehin in Eclipse programmiert, der gelangt so mit einem Klick aus der Entwicklungsumgebung in die Datenbankwelt und zurück. Zweitens die Integration einzelner Werkzeuge dank Vermittlung der IDE. Dadurch kann der Entwickler vom Entwurfswerkzeug zum Abfrage-Client innerhalb derselben Oberfläche wechseln und an jeder Stelle den Komfort der Eclipse-IDE genießen.
Designtool Clay
Das Datenbank-Designtool Clay ist in der Grundausstattung kostenlos erhältlich. Die deutlich leistungsfähigere, aber kostenpflichtige Pro-Version ist derzeit nur noch in Japan erhältlich, wo die Herstellerfirma residiert.
Clay erlaubt es, Datenbanktabellen in einem grafischen Editor als ERD (Entity Relationship Diagram) zu entwerfen, das auch ihre Beziehungen sofort klar und übersichtlich darstellt (Abbildung 1). Die Tabellen lassen sich direkt auf der Arbeitsfläche anlegen und editieren (Abbildung 2). Die Fremdschlüsselbeziehungen entstehen, wenn man in der Grafik mit gedrückter Maustaste von Tabelle zu Tabelle fährt.
Ist in einem iterativen Prozess schließlich das Layout komplett, generiert das Tool für alle oder ausgewählte Objekte SQL-Skripte, die alle nötigen DDL-Statements (Data Definition Language) enthalten, um die Struktur der Datenbank auf dem Server zu erzeugen.
Modelle von gestern
Damit dies funktioniert, muss das Entwurfswerkzeug am Anfang mitgeteilt bekommen, auf welcher Datenbank am Ende der Entwurf umgesetzt werden soll. Hier zeigen sich schon die ersten kleineren Schwächen: Das Tool ist bei den Datenbankversionen nicht ganz auf der Höhe der Zeit. PostgreSQL etwa unterstützt es bis Version 7.4, aktuell ist 8.1, MySQL ist bis 4.0 bekannt, inzwischen ist es eine Major-Release weiter und so fort.
In der Praxis ist der Rückstand nicht ganz so schlimm, denn die neueren Versionen verstehen auch das SQL der älteren Verwandten. Die allerneuesten Features aber lassen sich nur dann nutzen, wenn sie der Entwickler händisch in das automatisch erzeugte Create-Skript hineineditiert.
Viel gravierender ist eine zweite Einschränkung der Grundversion: Sie kann die Grafik weder exportieren noch drucken. Dabei wäre gerade dies für die Dokumentation besonders willkommen. Möglicherweise erschien dem Hersteller die Ausgabe zum Anfüttern mit diesem Feature doch zu attraktiv im Vergleich mit der Bezahlversion. Denn der nicht eingeschränkte Entwurfsteil funktioniert hervorragend.
So bleibt ein Tool, das sich zwar für den Datenbankentwurf unter Eclipse anbietet. Der Prozess endet allerdings verfrüht bei einem Skript zum Anlegen der Strukturen und lässt sich - zumindest mit Hilfe europäischer Bezugsquellen - nicht einmal für Geld um die fehlende Anbindung an angrenzende Prozesse wie die Dokumentation erweitern.