Aus der Programmierumgebung führt ein einziger Klick in die Datenbankwelt und wieder zurück. Diesen bequemen Brückenschlag zum Vorteil des Anwenders ermöglichen verschiedene Eclipse-Plugins für Entwurf und Abfrage von SQL-Datenbanken.
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.
Quantum
Um das mit Clay erstellte DDL-Skript ablaufen zu lassen, bedarf es eines SQL-Frontends. Dafür bietet sich das freie Plugin Quantum [7] an, das einen einfachen SQL-Editor realisiert. Die zu erwartenden Funktionen eines solchen Tools sind vorhanden und gut bedienbar: In einer eigenen Perspektive, wie die Fenster-Sets in Eclipse heißen, ist ein Teilfenster für die Eingabe von SQL-Statements reserviert. Darunter blendet ein durch Reiter gegliedertes zweites Fenster auf Wunsch das Result-Set, ein Log abgearbeiteter Datenbanktransaktionen oder Fehlermeldungen des Datenbankservers ein.
An der linken Fensterseite (siehe Abbildung 3) findet sich ein Schema-Browser, über den die Datenbank-Objekte anwählbar sind. Das eingangs entworfene Create-Skript einer Beispiel-Autorendatenbank gelangt über ein File oder die Zwischenablage in den Editor. Die fertigen Objekte lassen sich dort in Tabellenform inspizieren und auch befüllen. Dafür generiert ein Eingabefenster eine einfache Form für passende Datensätze (Abbildung 4).
Was auch diesem Plugin fehlt, sind die fortgeschrittenen Funktionen: Es gibt keinen visuellen Abfrage-Editor, keine Unterstützung für die Abfrage-Optimierung, zum Beispiel einen Query Analyzer oder die Möglichkeit, per Knopfdruck den Execution-Plan der Datenbank in ein Fenster zu holen. Es fehlt ebenfalls an einer funktionierenden Im- und Exportmöglichkeit für Datenbankinhalte, an Angeboten für die sinnvolle Darstellung von Binärdaten und an Unterstützung für das Storage-Mangagement der Datenbank.
Auch andere administrative Aufgaben, zum Beispiel die Datenbank-Benutzerverwaltung, erleichtert das Tool nicht explizit. Es gibt zwar ein Syntax-Highlighting, aber keinen Syntax-Check und auch keine automatische Vervollständigung für SQL-Statements.
Sicherlich schmerzt das Fehlen dieser Features unterschiedlich stark. Wer häufig mit SQL zu tun hat, vermisst keinen Editor zum Zusammenklicken der Abfragen. Trotzdem bleibt unterm Strich festzuhalten, dass Quantum wenig mehr als die Grundfunktionen abdeckt. Die allerdings solide und zuverlässig.
Fazit
Wer sich bei der Arbeit mit seinem Datenbanksystem auf die wichtigsten Funktionen beschränken kann, der findet in den beiden vorgestellten Plugins brauchbare Helfer. Als Zusatznutzen belohnt ihn die Integration in die Entwicklungsumgebung mit dem Komfort der Eclispe-Oberfläche und mit kurzen Wegen. Wer dagegen mehr verlangt als nur Grundfunktionen oder spezielle Features einstzen will, der muss sich unter den zahlreichen Standalone-Clients nach einer Alternative umsehen.
|
Infos |
|---|
|
[1] Knoda: [http://www.knoda.org] [2] Rekall: [http://www.rekallrevealed.org/kbExec.py] [3] Kexi: [http://www.kexi-project.org] [4] Isql-Viewer: [http://isql.sourceforge.net/] [5] Aqua Data Studio: [http://www.aquafold.com] [6] RM Bench von Byte Refinery: [http://www.byterefinery.com/produkte] [7] Eclipse-Plugin Quantum: [http://sourceforge.net/projects/quantum/] [8] IBM Cloudscape Workbench: [http://www-128.ibm.com/developerworks/db2/downloads/csworkbench/] [9] DB-Designtool Clay: [http://www.azzurri.jp/en/software/clay/index.jsp] |





