Datenbankdesigner

<< Blob Anzeige/Editor | IBExpert | Testdatengenerator >>

Die deutschsprachige Dokumentation wird seit dem 26. Juli 2016 nicht mehr gepflegt. Aktuelle und vollständige Dokumentation finden Sie auf der englischsprachigen Webseite: IBExpert Documentation


Datenbankdesigner

Der IBExpert Datenbankdesigner ist ein umfangreiches Tool, das die Visualisierung und Verwaltung von Datenbankobjekten ermöglicht. Es kann verwendet werden, um eine bestehende Datenbank als Modell visuell darzustellen, oder um ein neues Datenbankmodell zu erstellen und anschliessend daraus eine neue Datenbank zu erzeugen. Sie können Tabellen und Views erstellen, bearbeiten und löschen, Tabellenfelder bearbeiten, Verlinkungen zwischen Tabellen erstellen, Prozeduren bearbeiten und löschen, und so weiter. Dieses Feature ist leider nicht in der kostenlose IBExpert Personal Edition enthalten.

Der IBExpert Datenbankdesigner bietet vollständige UTF8-Unterstützung an. Interne Darstellung von Stringwerten wurde von ANSI auf UTF8 geändert (Ausnahme: Exceptiontexte, die Wie sie sind gespeichert werden, gemäß ihren Firebird/InterBase® Zeichsätze - OCTETS). Die Konvertierung bestehender Modelldateien wird automatisch beim ersten Laden ausgeführt.

Der Datenbankdesigner wird vom IBExpert Nützliches Menü gestartet.

Das Designer-Menü bietet folgende Optionen an:

Es gibt auch einige Symbolleisten (weitere Information finden Sie unter Datenbankdesigner Symbolleisten). Sollte IBExpert die Symbolleisten nicht automatisch nach dem Starten des Datenbankdesigners laden, löschen Sie IBExpert.tb vom \Documents and Settings\<user>\Application Data\HK-Software\IBExpert\-Verzeichnis und starten Sie IBExpert neu.

Mit den Designer Menüpunkten oder den entsprechenden Symbolen, können Sie ein bestehendes Modell öffnen oder ein neues Modell erstellen.

Reverse Engineering wird hier für Demonstrationszwecke verwendet.

Mit der Erzeugung eines Modells der EMPLOYEE-Datenbank ist es möglich viele der Datenbankdesigner Features zu illustrieren.

Die Abbildung oben zeigt die Beispieldatenbank EMPLOYEE.FDB an, ohne Systemtabellen und mit der Model Options Links-Option, Automatically trace links(Verlinkungen automatisch aufzeichnen) aktiviert sowie einige Anzeigeoptionen, die unter Model Options Table zu finden sind. Die Lupensymbole in der Menu and Palette-Symbolleiste können verwendet werden, um die Darstellung zu vergrößern oder zu verkleinern. Mit dem Pfeilsymbol (=Bearbeitungsmodus) können Tabellen und Views durch anklicken ausgewählt oder mit Drag 'n' Drop bewegt werden; die Verbindungslinien (=Links) werden automatisch mitgezogen. Sie können mit [Strg] + Doppelklick auf eine Tabelle oder einen View, den Tabellen-/Vieweditor für die entsprechende Tabelle/den entsprechenden View in der aktiven Datenbank öffnen.

Neue Tabellen oder Views können einfach durch Anklicken des entsprechenden Symbols in der Palette-Symbolleiste erzeugt werden und mit der Maus im Diagrammbereich positioniert.

Vorlagen können verwendet werden (IBExpert Menüpunkt Optionen / Hauptvorlagen), um Fremd- und Constraintnamen automatisch zu vergeben. Das Hervorheben von Variablen kann auch individuell angapasst werden. Verwenden Sie hierfür Optionen / Editoreneinstellungen / Farbe, um Farbe und Schriftart für die Variablen auszusuchen. Solche Farben werden in eine grc-Datei gespeichert.

Alternativ können bestehende Objekte mit Drag 'n' Drop vom Datenbank Explorer (auch von der Projektansicht) und dem SQL Assistenten in den Hauptbearbeitungsbereich gezogen werden. Nach dem Löschen von Tabellen, die vom Datenbank Explorer gezogen worden, werden eventuelle Referenzen (Foreign Keys) analysiert und in das Datenbankdiagramm nach Bestätigung eingefügt.

Der Model Navigator im SQL Assistenten ermöglicht die schnelle und übersichtliche Orientierung in Ihrem Modell. Der Datenbank Explorer bietet eine zusätzliche Diagrams-Seite, die alle Objekte im Datenbankmodell in einer Baumstruktur anzeigt. Klicken Sie einfach auf ein Objekt und es wird im Hauptfenster des Datebankdesigners automatisch zur Bearbeitung markiert.

Das Comment box-Symbol ermöglicht das Einfügen von Kommentaren in das Diagramm. Fügen Sie einfach ein Comment Box ein und positionieren Sie es; mit Doppelklick können Sie dann Ihren Text im Model Options-Fenster auf der Comment Box-Seite einfügen.

Referenzlinien, d.h. Fremdschlüssel Beziehungen können mit dem entsprechenden Symbol im der Menu and Palette-Symbolleiste oder durch Ziehen der Maus zwischen Tabellen/Views gezogen werden.

Kontext-sensitive Rechtsklickmenüs bieten einige Optionen für ausgewählte Tabellen, Views oder Verlinkungen an (weitere Information finden Sie unter Datenbankdesigner Rechtsklickmenüs.

Ein Doppelklick auf einer Tabelle oder einem View öffnet den Model Options-Menüpunkt im unteren Fenster, wo Information gelesen, bearbeitet oder definiert werden kann.

Mit einem Doppelklick auf einer Linie zwischen zwei Tabellen werden die Beziehungen im Detail angezeigt. Der Name und die automatische Zurückverfolgung sind Optionen, wie bereits erwähnt, die in den Model Options enthalten sind.

Datenbankobjekte können mit der [Umschalt]-Taste und Anklicken der einzelnen Objekte ausgewählt werden und dann mit den entsprechenden Symbolen in der Layout-Symbolleiste gruppiert oder getrennt werden. Objekte können auch bündig angeordnet werden (links, zentriert, rechts, oben, mittig, unten), wieder durch mehrfache Selektion mit der [Umschalt]-Taste und Maus und anschliessende Auswahl der respektiven Layout-Symbole.

Vergessen Sie nicht, das weiße Pfeilsymbol bringt die Maus in den normalen Bearbeitungsmodus zurück!

Weiterhin können Sie Themenbereiche (Manage Subject Areas) und Themenebenen (Manage Subject Layers) erstellen und bearbeiten.

Nachdem Sie das Datenbankmodell fertiggestellt haben, können Sie einen Skript generieren (sehen Sie hierzu Generate Script) und ausführen, um die im Datenbankdesigner durchgeführten Änderungen in der Datenbank durchzuführen.

zurück zum Seitenanfang

Datenbankdesigner Rechtsklickmenüs

Der Datenbankdesigner Hauptdesignbereich bietet eine Auswahl kontext-sensitive Rechtsklickmenüs an. Wenn eine Tabelle ausgewählt ist, werden folgende Optionen angeboten:

Sie können Select All (alle auswählen), Copy (kopieren) und Paste (einfügen). Columns (Spalten), Indexes (Indizes), Keys (Schlüssel), Checks (Beschränkungen), Triggers und SQL Preview (SQL Vorschau) werden auch im Model Options-Fenster unten angeboten. Es gibt auch eine Checkoption, ob eine ausgewählte Tabelle mit einem Schatten dargestellt werden soll oder nicht; und die Format Option öffnet einen neuen Dialog - allerdings für Tabellen wird lediglich die visuelle Schattenoption angeboten, die bereits als Checkoption im Menü angeboten wird.

Mit der Lock / Unlock-Option können Sie visuelle Objekte sperren, um sie gegen versehentliche Veränderungen zu schützen.

Wenn ein View ausgewählt ist, werden folgende Optionen angeboten:

Wieder werden die Optionen, Select All, Copy und Paste sowie Format angeboten. Bei der letzten Option muss der Dialog geöffnet werden und die Schattenoption angeklickt werden, sollte das Aussehen des Viewkästchens geändert werden.

Wenn ein Link ausgewählt ist, werden folgende Optionen angeboten:

Wieder kann man Select All, Copy und Paste. Weiterhin ist es möglich zum Parent (Eltern) oder Child (Kind) zu springen (d.h. Primärschlüssel-Tabelle oder Fremdschlüssel-Tabelle), und wieder öffnet die Format-Option einen neuen Dialog, wo - auf der Links-Seite - die Rounded corners (abgeründete Ecken) Option gecheckt oder ungecheckt werden kann.

zurück zum Seitenanfang

Reverse Engineer (Modell einer bestehenden Datenbank erzeugen)

Reverse Engineering erstellt ein Datenmodell für eine bestehende Datenbank.

Wenn Sie ein Datenmodell erstellen möchten, wählen Sie die Datenbank von der Liste registrierter Datenbanken aus.

Wenn IBExpert noch nicht mit der ausgewählten Datenbank verbunden ist, fragt IBExpert, ob es die Verbindung vornehmen soll. Zunächst spezifizieren Sie, ob ein neues Diagramm erstellt (klicken Sie auf Clear Diagramm wenn notwendig), oder ein bestehendes Diagramm updated werden soll:

Der Check-Option, um Ansichten wegzulassen (Exclude views), wurde in IBExpert Version 2014.01.01 aufgenommen.

Wenn Sie auf den Start-Button klicken, werden Sie sehen wie schnell IBExpert ein Datenmodell Ihrer Datenbank erstellt!

zurück zum Seitenanfang

Generate script (Skript generieren)

Es ist auch möglich, ein Skript für das Modell mit dem Menüpunkt, Generate Script zu generieren. So können Sie alle Änderungen am Modell auch an die Datenbank durchführen.

Der Skript kann in die Skriptausführung, in eine Datei oder in die Zwischenablage generiert werden. Die Script Type-Optionen beinhalten:

  • Create new database (Datenbank erzeugen)
  • Update existing database (bestehende Datenbank aktualisieren)
  • Difference script (for testing only) (Differenzskript - nur für Testzwecke)

Vergeben Sie einen Dateinamen, wenn Sie den Skript in eine Datei speichern möchten, und markieren nach Wunsch folgende Optionen:

  • Don't quote identifiers if possible (wenn möglich keine Identifizierungszeichen angeben)
  • Don't analyze IBExpert (IBE$*) objects (keine Analyse IBExpert (IBE$*) Objekte)
  • Set generators (Generatoren setzen)
  • Include object descriptions: (Objektbeschreibungen einfügen)
    • DESCRIBE statement (IBExpert only) (DESCRIBE-Anweisungen (nur IBExpert))
    • UPDATE of system tables (Systemtabellen UPDATE)
    • COMMENT ON statement (Firebird 2.x) (COMMENT ON-Anweisung)

Die Generierung des Datenbank Updateskriptes beinhaltet die Verarbeitung von Generatoren, Triggern, Exceptions und Prozeduren. View Abhängigkeiten werden auch bei der Skripterzeugung berücksichtigt.

Wenn Sie INIT-Anweisungen spezifizieren möchten, müssen Sie den Modellskript (Model Options) verwenden. Sonst werden Anweisungen wie SET NAMES, SET SQL DIALECT, CREATE DATABASE von dem CREATE DATABASE-Skript entfernt.

zurück zum Seitenanfang

Export

Das Datenbankmodell kann entweder als Bitmap (.bmp) oder als eine Enhanced Metafile (.emf) exportiert werden. Laden Sie einfach das zu exportierende Modell, klicken Sie auf dem Menüpunkt, Export, und geben Sie den Namen und Format an.

zurück zum Seitenanfang

Print (Drucken)

Das Datenbankmodell kann mit dem entsprechenden Datenbankdesigner Menüpunkt oder dem entsprechenden Symbol gedruckt werden. Diese Option zeigt zuerst einen Druckvorschau, so dass Änderungen vorgenommen werden können, bevor das Ergebnis gedruckt wird.

Sie können Druckoptionen zwischen Arbeitssitzungen speichern. Sie können Seitenränder (druckbare Teile) mit gestrichelten Linien anzeigen. Seitenoptionen (Größe, Kopf- und Fusszeilen usw.) können mit dem Print Preview-Form (Druckvorschau) angepasst werden:

zurück zum Seitenanfang

Manage Subject Areas (Themenbereiche verwalten)

Der IBExpert Datenbankdesigner Menüpunkt Manage Subject Areas soll verwendet werden, zum Beispiel, um bestimmte Teilbereiche einer Datenbank, z.B. Vertrieb oder Einkauf, als eigenständige Bereiche zu verwalten und zu visualisieren.

Mit den zwei Symbolen oben im Subject Areas-Fenster können Sie neue Themen durch Eingabe eines Namens und Auswahl der gewunschten Tabellen definieren. Sie können hier auch vorhandene Themen bearbeiten oder löschen. Sie können auch Objekte in den Themenbereich vom DB Explorer Diagrams-Seite ziehen. Es ist auch möglich Objekte von der Objektliste in den Subject Areas Manager zu ziehen.

Mehrere Themenbereiche können gleichzeitig geöffnet und bearbeitet werden; Durch Anklicken der Fensterbuttons unter dem Hauptbearbeitungsbereich können Sie von einem Thema zum nächsten schalten.

Objekte können nachträglich durch Auswahl des kontextsensitiven Menüpunktes, Add to subject area, bestehenden Themenbereichen hinzugefügt werden.

Die Themenbereiche werden mit dem Hauptthemenbereich gespeichert, wenn das Modell gespeichert wird.

zurück zum Seitenanfang

Manage Subject Layers (Themenebenen verwalten)

Dieser Filter bietet eine Ansicht bestimmter benutzerspezifizierten Tabellen und deren Beziehungen an. Klicken Sie einfach auf das New Layer (neue Ebene) Symbol, vergeben Sie einen Namen, und wählen Sie die dazugehörigen Objekte aus. Um alles wieder ansehen zu können, müssen Sie den Manage Layers (Ebenen verwalten) Dialog neu öffnen und das Symbol Show All (alle anzeigen) anklicken.

Das daraus resultierende Modell kann gespeichert oder exportiert werden.

zurück zum Seitenanfang

Model Options (Modelloptionen)

Der Model Options-Menüpunkt offnet in der unteren Hälfte des Datenbankdesigner Dialogs ein neues Fenster. Hier stehen folgende visuelle Anzeige- und Skriptoptionen zur Verfügung:

Wenn Sie im Hauptbearbeitungsbereich auf eine Tabelle oder einen View doppelklicken, erscheint ein zusätzliches Fenster im unteren Model Options-Bereich.

  • General (allgemein): Hier können Sie den Zeichensatz für Ihre Modellobjekte definieren. Klicken Sie einfach auf General in der Liste links, und wählen Sie den Zeichensatz von der Aufklappliste aus.
  • Table (Tabelle): mit folgenden Anzeigeoptionen: Table Name (Tabellenname) und Description (Beschreibung), Field Name (Feldname), Domain (Domäne), Type (Typ), Not Null und Description (Beschreibung), Primary Key (Primärschlüssel) und Foreign Key Marks (Fremdschlüsselzeichen) und Expand Marks (Zeichen erweitern). Es ist sogar möglich die maximale Beschreibungslänge hier zu bestimmen.
  • Links (Verlinkungen): Display Link Names (Linknamen anzeigen), d.h. Fremdschlüsselbeziehungen werden angezeigt, und Automatically Trace Links (automatisch Verlinkungen verfolgen), d.h. alle Verlinkungen werden senkrecht und waagerecht mit 90° Winkel angezeigt. Folgende Referenznotationen werden unterstützt: IDEF1X, DM, IE. Klicken Sie auf die Notation-Aufklappliste und wählen Sie Ihre bevorzugte Notation aus. Nachdem Sie das Model Options-Fenster schliessen, wird das Modell definitionsgemäß angezeigt:

Mit den Pre- und Postscript-Optionen können Sie Vor- und Nachskripte für Ihr Datenbankmodell definieren. Der Prescript wird in den Modellskript direkt nach der CREATE DATABASE- oder CONNECT-Anweisung. Der Postscript wird am Ende des Modellskripts eingefügt. Es besteht auch die Möglichkeit, solche Skripte für einzelne Tabellen zu definieren.

IBExpert bietet zusätzlichen Support für Autoinkrementierungsfelder an, basiert auf dem IBEBlock Feature. Um automatisch Generatoren und Trigger für Autoinkrementierungsfelder zu erzeugen, markieren Sie die besagten Felder als AutoInc und definieren Sie für jedes Autoinkrement-Feld einen Block (Model Options / Blocks):

    execute ibeblock (
        HModel variant comment 'Current model handle',
        HTable variant comment 'Current table handle',
        HColumn variant comment 'Current column handle')
    returns (
        GenScript variant,
        TrgScript variant,
        ProcScript variant)
    as
    begin
      LF = ibec_CRLF();

      TblName = ibec_dbd_GetObjectProp(HTable, 'NAME');
      FldName = ibec_dbd_GetObjectProp(HColumn, 'NAME');

      GenName = 'GEN_' || TblName || '_' || FldName;
      GenName = ibec_AnsiUpperCase(GenName);

      TrgName = TblName || '_BI';
      TrgName = ibec_AnsiUpperCase(TrgName);

      GenScript = 'CREATE GENERATOR ' || GenName || ';' || LF ||
                  'SET GENERATOR ' || GenName || ' TO 0;' || LF;

      TrgScript = 'CREATE TRIGGER ' || TrgName || ' FOR ' || TblName || LF ||
             'ACTIVE BEFORE INSERT POSITION 0' || LF ||
             'AS' || LF ||
             'BEGIN' || LF ||
             '  IF (' || FldName || ' IS NULL) THEN' || LF ||
             '    NEW.' || FldName || ' = GEN_ID(' || GenName || ', 1);' || LF ||
             'END^' || LF || LF;
    end

Um das Model Options-Fenster zu schliessen, klicken Sie auf die kleine schwarze x oben links.

Domains (Domänen)

Model Options bietet eine Domains-Seite mit Einfüge-, Bearbeitungs- und Löschoptionen an, ähnlich wie der Domäneneditor.

Exceptions

Die Exceptions-Seite bietet Einfüge-, Bearbeitungs- und Löschoptionen an, ähnlich wie der Exceptionseditor.

Procedures (Prozeduren)

Die Model Options beinhaltet auch eine Procedures-Seite, ähnlich wie der Prozedureneditor.

Sie können eine neue Prozedur einfügen oder eine ausgewählte Prozedur löschen. Prozeduren können in der Aufklappliste ausgewählt werden, und der Code beliebig geändert werden. Die Bearbeitungsseite bietet alle Features, die man von den anderen IBExpert Edit/Bearbeitungs-Seiten (wie Code Ergänzung, umfangreiches Rechtsklickmenü usw.).

Generators (Generatoren)

Die Generators-Seite bietet Einfüge-, Bearbeitungs- und Löschoptionen an, ähnlich wie der Generatoreneditor.

Ausgewählte Tabelle / Ausgewählter View

Table <ausgewählter Tabellenname>: Die angebotenen Optionen können für das Erzeugen, die Bearbeitung oder das Löschen von Spalten, Indizes, Schlüsseln, Checks und Triggern verwendet werden. Mit dieser Tabelleditor-Version kann eine neue Tabelle oder View erzeugt werden oder eine bestehende Tabelle bearbeitet werden. Für weitere Information sehen Sie bitte Create Table und Tabelleneditor.

View <ausgewählter Viewname>: Ein View kann im Datenbankdesigner nur mit SQL erzeugt werden. Sie können aber auch einen neuen View im Datenbankexplorer erzeugen, und Ihr Modell mit Reverse Engineer... aktualisieren. Weitere Information über Viewerzeugung finden Sie unter Neuer View.

Die Definitions-Seite zeigt den Tabellen- oder Viewnamen an; eine Beschreibung kann angezeigt bzw. eingegeben werden und die Generate-Checkoption aktualisiert die Tabelle oder den View im Diagramm.

Die ausgewählte Tabelle-Optionen: Columns, Indexes, Keys, Checks, Triggers und Preview, sowie die ausgewählter View-Optionen, SQL, Triggers und Preview sind auf den entsprechenden Seiten in dem Tabelleneditor und dem Vieweditor basiert. Es gibt allerdings einige Abkürzungen, die man von den DB Explorer Editoren nicht kennt:

Pre- (Vor-) und Post- (Nach-) Skripte können auch für jede Tabelle einzeln definiert werden. Der Preskript wird in den Modellskript direkt nach der CREATE DATABASE- oder der CONNECT-Anweisung eingefügt. Der Post-Skript wird am Ende eingefügt.

Comment Box (Kommentarkästchen)

Wenn ein Comment Box in das Hauptdiagramm eingefügt wird, erzeugt ein Doppelklick eine neue Comment Box-Seite im Model Options-Fenster. Hier kann ein Kommentartext eingefügt, bearbeitet oder gelöscht werden.

Siehe auch:
englischsprachig:
Database Design

zurück zum Seitenanfang
<< Blob Anzeige/Editor | IBExpert | Testdatengenerator >>