Thematischer Schwerpunkt dieser Ausgabe ist die kontinuierliche Überwachung von Servern, Clients und anderen Geräten im Netzwerk: mit dem IPMI-Plugin, dem ... (mehr)

Relationstypen

In der Regel legt Workbench nur Beziehungen an (so genannte Relationen), die zu den Datentypen passen. So könnte beispielsweise ein Personendatensatz auf mehrere Adressdatensätze und viele Telefonnummern zeigen. In diesem Fall handelt es sich um eine One-to-many-Relation, bei der ein Datensatz auf mehrere zeigt. Stimmt die Art der Relation einmal nicht, hilft ein Rechtsklick auf die Beziehung, um den Relationeneditor aufzurufen und dort Änderungen vorzunehmen. Enthält eine Tabelle mehrere Fremdschlüssel, markiert die Software diese in unterschiedlichen Farben, sobald Sie den Mauszeiger darüber bewegen.

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 dabei, in umfangreichen Projekten die Übersicht zu bewahren.

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 physischen 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-and-Drop in den Routine Group Editor.

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

Reverse Engineering

Haben Sie das 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.

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.

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

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021