Open Source im professionellen Einsatz

© designritter, Photocase.com

Grafischer Datenbankentwurf mit Dbwrench

Datenmaler

Automatisierung spart häufig nicht nur dröge Handarbeit, sondern bewahrt auch vor Flüchtigkeitsfehlern, wie sie nur Menschen machen. Beim Entwurf komplexer Datenbanken zahlt sich das aus.

Tabellen als Kästen, Verweise als verschiedene Pfeile - so genannte Entity-Relationship-Diagramme (ERD) haben sich für die Darstellung der Tabellenstruktur einer Datenbank etabliert. Zeichnen kann sie fast jede Grafiksoftware und manche - etwa Dia unter Linux - kommt dem Anwender sogar mit entsprechenden Paletten entgegen.

Allerdings: Eine reine Diagrammsoftware weiß nicht, welche Datentypen für welche Datenbank verwendbar sind oder welche Tabelle welche Schlüssel definiert. Entwurfsfehler wie falsche Bezüge oder unpassend typisierte Felder fallen ihr nicht auf. Vom Papier in den Rechner gelangt ein solches Modell auch nur per Hand, und das ist zeitaufwändig und fehlerträchtig. In einem iterativen Entwurfsprozess müsste der Entwickler die Datenbank zudem mehrfach händisch aktualisieren.

Das alles spart eine spezialisierte ERD-Software, jedenfalls im günstigsten Fall. Sie klopft die Diagramme schon beim Zeichnen auf Plausibilität ab, übersetzt sie automatisch in Statements der passenden DDL (Data Description Language), führt sie auf dem Datenbankserver aus, hält die so erzeugte Datenbank von da an synchron mit dem Modell und archiviert den Entwurf in einem neutralen Format.

Solche Software gibt es bei den Datenbankherstellern selbst oder aus deren Umfeld, etwa den Sybase Power Designer von Toolpark [1] oder den Oracle Designer [2] von Oracle oder ERwin von CA [3]. Das ist aber meist Windows-Software und außerdem nur selten ein Schnäppchen. Auch auf Open-Source-Seite finden sich Versuche, solche Projekte zu stemmen, aber völlig überzeugen kann davon noch keines. Am vielversprechendsten scheint Power Architect, ein Produkt des Google Summer of Code [4]. Zwar schwächelt das Tool in den grafischen Fächern, den Tabellenentwurf und Abgleich mit der Datenbank löst es aber gut.

Zudem gibt es auch für GPL-Datenbanken kommerzielle Modellierungssoftware wie die MySQL Workbench [5] und schließlich bieten sich datenbankneutrale Kaufprodukte zu moderaten Preisen an. Dazu gehören Data Architect von The Kompany [6] oder Dbwrench [7], der Protagonist dieses Artikels.

Rückwärts oder vorwärts

ERD-Tools kennen prinzipiell zwei Modi: Das Reverse Engineering, das eine bestehende Datenbank ausliest und in einem Diagramm abbildet, und das Forward Engineering, bei dem der Datenarchitekt zuerst das Diagramm entwirft und dann daraus die zugehörigen Strukturen in der Datenbank erzeugt. Dbwrench kann in beiden Modi mit vier Datenbank-Produkten kommunizieren - MS Access, MS SQL Server, MySQL und PostgreSQL. Das ist nicht gerade viel, aber immerhin ist so auch die Migration von Datenbanken möglich: Man generiert per Reverse Engineering das Strukturmodell aus der Quelldatenbank und implementiert es anschließend via Forward Engineering in der Zieldatenbank.

Wer stattdessen mit einem weißen Blatt beginnt, muss zunächst die Tabellen anlegen. Aus dem Kontextmenü einer leeren Tabelle lassen sich ihr weitere Spalten hinzufügen. Für häufig gebrauchte Muster, etwa eine obligatorische ID-Spalte mit Foreign Key, kann der Anwender Templates hinterlegen, die den Prozess um ein paar Klicks verkürzen. Schriftgröße, Farben sowie Art und Umfang der im Diagramm abzubildenden Daten sind ebenfalls justierbar. Was aber fehlt, ist ein Grid oder ein Ausrichten-Werkzeug für die Diagrammelemente.

Dbwrench

Version: 1.5.1

Hersteller: Nizana Systems, Port Alberni, Kanada

Lizenz: proprietär

Preis: 150 US-Dollar (Download-Version), Trial-Version auf Delug-DVD

Dokumentar integriert

Auch der Datenbankinhalt lässt sich direkt aus dem Diagramm heraus in einer Tabellendarstellung betrachten und editieren (Abbildung 1). Für komplexere Abfragen gibt es einen SQL-Editor, der Syntax-Highlighting beherrscht, Skripte speichert, eine Suchfunktion integriert und Meldungen der Datenbank anzeigt (Abbildung 2, rechts). Außer Tabellen lassen sich auch Stored Procedures und Sequences in Dbwrench anlegen. Bereits vorhandene erkennt das Reverse Engineering allerdings nicht, es sammelt ausschließlich Tabellen-Informationen.

Die Tabellenstruktur legt Dbwrench in einem XML-File ab, das aber für Menschen nur schwer lesbar ist. Als besonderes Schmankerl bietet die Entwurfssoftware daher an, auf Knopfdruck eine Dokumentation zu erzeugen, die Schemas, Tabellen, Views, Indexes, Foreign Keys, Diagramme sowie manuell erzeugte Stored Procedures, Triggers und Sequences einschließt. Das alles mündet in einer Sammlung ansehnlicher, untereinander verlinkter HTML-Seiten. Die ungeliebte Dokumentationsarbeit reduziert sich so auf einen Mausklick. Zusätzlich lassen sich die Diagramme separat als PNG- oder JPG-Files exportieren.

Abbildung 1: Tabellen (im Hintergrund) lassen sich im Diagramm mit einem eingebauten Viewer inspizieren. Editiert man den Inhalt, erzeugt Dbwrench ein Skript, das die Änderung überträgt.

Abbildung 1: Tabellen (im Hintergrund) lassen sich im Diagramm mit einem eingebauten Viewer inspizieren. Editiert man den Inhalt, erzeugt Dbwrench ein Skript, das die Änderung überträgt.

Abbildung 2: Dbwrench-Hauptfenster: Ganz links findet sich die Baumdarstellung der DB-Komponenten, in der Mitte sind angelegte Tabellen zu sehen und rechts der SQL-Editor.

Abbildung 2: Dbwrench-Hauptfenster: Ganz links findet sich die Baumdarstellung der DB-Komponenten, in der Mitte sind angelegte Tabellen zu sehen und rechts der SQL-Editor.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook