Aus LinuxUser 03/2010

Datenbanken mit MySQL Workbench planen (Seite 2)

Um bei umfangreichen Datenbanken zusammenhängende Bereiche im Blick zu behalten, bietet MySQL Workbench Ebenen („Layer“) als Hilfsmittel an. Diese erlauben es, mehrere Tabellen farblich zu hinterlegen und so optisch zu einer Einheit zusammenzufassen. Um Ebenen zu nutzen, gehen Sie entweder über die Toolbar oder drücken [L] und ziehen den Mauszeiger über alle Objekte, die in der Ebene enthalten sein sollen (Abbildung 3).

Abbildung 3: Layer helfen Ihnen, in umfangreichen Projekten die Übersicht zu bewahren.
Abbildung 3: Layer helfen Ihnen, in umfangreichen Projekten die Übersicht zu bewahren.

Routinen

Auch Ansichten, die bereits erwähnten Views, legen Sie bei Bedarf ähnlich wie Tabellen im EER-Diagramm an. Dagegen konstruieren Sie Prozeduren und Funktionen (Stored Procedures und Functions) nicht im Diagramm, sondern im physikalischen Schema. In MySQL Workbench heißen gespeicherte Prozeduren und Funktionen auch Routinen. Im vorliegenden Beispiel kommt eine kleine Prozedur zum Einsatz, die ermittelt, wie viele Gegenstände derzeit verliehen sind.

Dazu wechseln Sie vom EER-Diagramm zum MySQL-Modell und klicken hier auf Add Routine im Bereich Routines. Im unteren Fensterbereich öffnet sich der Editor für Routinen, mit dem Sie Ihre Prozedur schreiben (Abbildung 4). Das EER-Diagramm zeigt lediglich Gruppen von Routinen an. Dazu erstellen Sie ähnlich der Routine eine Gruppe, und ziehen hinterher die gewünschten Routinen per Drag & Drop in den Routine Group Editor.

Abbildung 4: Für das Schreiben von Prozeduren und Funktionen bietet das Programm keine visuelle Unterstützung.
Abbildung 4: Für das Schreiben von Prozeduren und Funktionen bietet das Programm keine visuelle Unterstützung.

Reverse Engineering

Haben Sie Ihr Modell fertig geplant, übertragen Sie es entweder direkt an einen Datenbank-Server oder in eine Datei („Forward Engineering“). Um das zu tun, verwenden Sie den Menüpunkt File | Export | Forward Engineer Create SQL Script ([Umschalt]+[Strg]+[G]), geben einen Dateinamen an (ohne Dateinamen zeigt die Applikation das Skript nur an, speichert es aber nicht) und markieren gegebenenfalls die gewünschten Optionen. Im zweiten Schritt fragt die Software ab, welche Objekte Sie in den Export einbeziehen möchten (Abbildung 5), um letztendlich das ersehnte Skript zu erzeugen.

Abbildung 5: Mit wenigen Klicks stellen Sie zusammen, was MySQL Workbench in die Skripte einbezieht.
Abbildung 5: Mit wenigen Klicks stellen Sie zusammen, was MySQL Workbench in die Skripte einbezieht.

Möchten Sie das Modell direkt an einen Datenbank-Server übertragen, geben Sie vorab unter Database | Manage Connections die nötigen Parameter zum Verbinden mit dem Server an. Um das frisch entworfene Schema gleich an den Server zu schicken, nutzen Sie nun den Eintrag Forward Engineering unter Database. Hier genügt es, sich Schritt für Schritt durchzuklicken, und schon landet die Datenbank am gewünschten Ort.

Ähnlich geschwind lesen Sie bereits vorhandene Datenbankmodelle ein („Reverse Engineering“). Sie importieren das Modell entweder über ein SQL-Skript oder von einem laufenden Datenbankserver. Für letztere Methode existiert ein Wizard unter dem Menüpunkt Databases. Hier fragt das Programm neben den Verbindungsdaten noch das gewünschte Schema ab. Enthält ein Schema mehr als 15 Tabellen, gerät die Hauptansicht leicht unübersichtlich: Die im Test importierten 145 Tabellen eines Krankenhausinformationssystems überlagerten sich so stark, dass eine große Aufräumaktion erforderlich war (Abbildung 6).

Abbildung 6: Bei vielen importierten Tabellen leidet die Übersicht im EER-Diagramm.
Abbildung 6: Bei vielen importierten Tabellen leidet die Übersicht im EER-Diagramm.

Über Forward und Reverse Engineering hinaus lässt sich MySQL Workbench auch dazu verwenden, die Schemata vorhandener Datenbanken zu ändern und anschließend zu synchronisieren (Database | Synchronize Model oder File | Export | Synchronize with SQL Create Script).

Fazit

MySQL Workbench bietet einige Features, die gerade beim Planen umfangreicher Datenbanken helfen. Allerdings erwies sich die Software als recht ressourcenhungrig und lief auf dem etwas betagteren Testrechner (Pentium 4 2,5 GHz, 1 GByte RAM) mitunter etwas zäh. Zudem stürzte das Programm im Test mehr als einmal ab – hier wäre eine Funktion wünschenswert, die die Arbeit in vorgegebenen Zeitintervallen automatisch sichert.

Zum Planen von Datenbanken anderer DBMS eignet sich MySQL Workbench nur bedingt. Wer so etwas braucht, sollte vielleicht doch über ein anderes Werkzeug nachdenken, wie zum Beispiel Database Visual Architekt [3], Sybase Powerdesigner [4] oder den nicht mehr ganz frischen DBDesigner 4 [2]. Wer allerdings viel mit dem Design von MySQL-Datenbanken zu tun hat und ein kostenloses Hilfsmittel sucht, der ist mit der vorliegenden Software gut bedient. Sie wartet mit einem reichhaltigen Funktionsumfang auf, die Datenbankenentwicklern und -administratoren das Leben erleichtern.

Die in den Startlöchern stehende Version 5.2 unterstützt über das Planen von Datenbankmodellen hinaus auch Abfragen an den Server und administrative Tätigkeiten. Dafür integrierten die Entwickler Teile von MySQL Query Browser und MySQL Administrator in die Applikation.

Glossar

Datenbankschema

Informationen darüber, wie die Daten in einer Datenbank strukturiert sind, sprich: Tabellen, Trigger, Indices.

Datenbankmodell

Das Datenbankmodell beschreibt den Aufbau einer Datenbank. Neben dem relationalen Datenmodell (MySQL, Oracle) gibt es unter anderem auch objektorientierte Datenmodelle (Db4o) oder XML-basierte Dokumentenmodelle (Tamino).

Index

Ermöglicht den schnellen Zugriff auf allen Einträge über einen Suchschlüsselwert, erfordern jedoch Speicherplatz.

Trigger

Reagiert automatisch auf vordefinierte Ereignisse, indem er vom Benutzer erstellte Anweisungen ausführt.

View

In einer View (Ansicht) speichern Sie oft benötigte Anfragen, was das Formulieren vereinfacht und bessere Zugriffskontrollen ermöglicht.

Stored Procedures

Unterprogramme (Prozeduren und Funktionen), die Sie in der Datenbank speichern und direkt auf dem Datenbankserver ausführen, um den (Netzwerk-)Traffic zu verringern.

Infos

[1] MySQL Workbench: http://www.mysql.de/products/workbench/

[2] DBDesigner 4: http://www.fabforce.net/dbdesigner4/

[3] Database Visual Architekt: http://www.visual-paradigm.com/product/dbva/

[4] Sybase Powerdesigner: http://www.sybase.com/products/modelingdevelopment/powerdesigner

[5] MySQL-Workbench herunterladen: http://dev.mysql.com/downloads/select.php?id=8

[6] MySQL Workbench für Debian „Lenny“: http://tretkowski.de/blog/categories/3-Debian

LinuxUser 03/2010 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: