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.
© designritter, Photocase.com
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.
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 |
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.
Umfang: 2 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Alle Rezensionen aus dem Linux-Magazin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...