Folien



(letzte Synchronisation der PDF-Präsentation: 02.08.2017)

Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation

Serververbindung einrichten

MySQL-Server starten (z.B.: WAMP oder xampp (Windows), MAMP (Mac)); i.d.R. kann Verwaltung der DBs über phpmyadmin erfolgen.

Startbildschirm: New Connection, dann Daten eingeben (abhängig von Serversoftware)

WAMP (Windows)
User: root
Passwort: root
Hostname: 127.0.0.1 (oder localhost)
Port: 3306

MAMP (Mac)
User: root
Passwort: leer
Hostname: 127.0.0.1 (oder localhost)
Port: 8889

Voreinstellungen für ER-Modellierung

Edit -> Preferences (Windows) bzw. MySQLWorkbench -> Preferences (oder deutsch: "Einstellungen")

--> Reiter "Diagram"

unten "Hide Captions" abwählen, "Center Captions over line" anwählen

Einstellungen in MySQL-Workbench

Neue Datenbank in MySQL-Workbench anlegen

Version 1: Mit MySQL-Befehl

In ein SQL-Query-Fenster "CREATE DATABASE databasename" eingeben, Statement ausführen (entweder
--- über entsprechendes Icon
--- oder über Query -> Execute Current Query oder
--- mit Tastenkürzel Strg + Eingabe (Strg + Shift + Eingabe für alle Statements im SQL-Editor))

Taucht dann in der linken Liste auf.

MySQL-Script-Tab in MySQL-Workbench MySQL-Befehle in MySQL-Workbench ausführen

Version 2: Rechtsklick in Schema-Palette

  • Rechtsklick in die Schema-Palette (linker Rand)
  • "Create Schema"
  • Name eingeben
  • "Apply" und dann "Apply MySQL-Script"

Falls neue DB nicht auftaucht, Rechtsklick in Schema-Palette und "Refresh All"

MySQL-Workbench: Schema-Ansicht aktualisieren

Hinweis: CREATE DATABASE und CREATE SCHEMA sind in MySQL als synonym aufzufassen.

Neue Tabelle(n) anlegen

Entweder über Rechtsklick auf "Tables" --> "Create Table"

Neue Tabelle in MySQL-Workbench anlegen

... oder durch MySQL-Befehl (s.u.)
... oder via ERD --> Forward Engineering

SQL-Befehle ausführen

In einem Script-Tab (falls keiner offen: Strg T oder File -> New Script Tab)

Achtung: Entweder gewünschte DB mit Punktnotation referenzieren (SELECT * FROM datenbankname.tabellenname) oder DB als default einstellen:

SQL-Befehl ausführen

Neues ER-Diagramm erstellen

  1. File -> New Model
  2. Add new Schema
  3. Schema benennen
  4. Add Diagram

("altes" Schema mydb löschen, Rechtsklick -> Drop Schema)

Neues Schema / neue Datenbank in MySQL-Workbench anlegen Neues ER-Diagramm in MySQL-Workbench erstellen

ERD: Entitäten + Beziehungen anlegen

non-identifying relationships (gestrichelt): Entitäten können autonom existieren

identifying relationships (durchgezogen): Kind-Entität (z.B. "Buch") kann nicht ohne Eltern-Entität (z.B. "Autor") existieren.

siehe informatikzentrale.de/mysql-workbench.html

Verwenden Sie vorerst nur non-identifying (außer bei n:m) - d.h. gestrichelt, wenn immer es geht

Beziehungstypen in ER-Diagrammen in MySQL-Workbench

ERD: Tabellen bearbeiten

Doppelklick auf Tabelle
unten:
Reiter "Table" --> Name ändern
Reiter "Columns" --> Attribute

Tabellen bearbeiten

Checkboxen:
PK = PRIMARY KEY
NN = NOT NULL
AI = AUTO_INCREMENT

ER-Diagramme: Notationsweise

Für einigermaßen klassische Ansicht nach Chen: Model --> Relationship Notation --> Classic

ER-Diagramme: Symbole

Primärschlüssel wird durch Schlüsselsymbol angezeigt, Fremdschlüssel durch rote Raute; blau gefüllte Raute bedeutet "NOT NULL"

Symbole in ER-Diagrammen in MySQL-Workbench

ER-Diagramm speichern

Speichern der Diagramme mit File --> Save Model As ...
Achtung: Keine Änderung in der Datenbank, gespeichert wird nur die Modellierung!

Forward Engineering: Diagramm --> MySQL-Code

Zu den wichtigsten Funktionen der MySQL-Workbench gehört das Forward-Engineering, also die Generierung von MySQL-Code aus ER-Diagrammen.

Gehen Sie dazu im Menü "Database" auf "Forward Engineer"

Forward-Engineering in MySQL-Workbench

Nach zweimal "Continue" sehen Sie den MySQL-Code:

MySQL-Code als Ergebnis des Forward-Engineering

Den können Sie in die Zwischenablage kopieren oder direkt auf dem Server ausführen. Das Ergebnis:

Erfolgreiches Forward-Engineering - Ergebnis!

Achtung: Meist ist Rechtsklick --> "Refresh" notwendig, anschließend Tabellen zu- und wieder aufklappen!

Reverse Engineering Aus MySQL-DB ein ERD generieren

Die Beziehungen werden nicht dargestellt, wenn die DB im MyISAM-Format vorliegt (was häufig der Fall ist). Damit die Beziehungen korrekt angezeigt werden, muss die DB bspw. im InnoDB-Format vorliegen.

Klicken Sie auf Database --> Reverse Engineer:

Reverse-Engineering in MySQL-Workbench ausführen

Wählen Sie anschließend die Datenbank (das "Schema") aus, aus der Sie ein ER-Diagramm generieren möchten:

Auswahl einer Datenbank für den Reverse-Engineer-Vorgang

Sie erhalten ein Diagramm, das möglicherweise noch etwas Pimping braucht:

Ergebnis des Reverse-Engineer-Prozesses