MicroOLAP Database Designer for postgreSQL – Eine kleine Einführung

Aufgrund eines größeren Projektes bin ich auf den Database Designer for postgreSQL von MicroOLAP aufmerksam geworden und möchte euch diesen heute näherbringen.

Die Testversion des Database Designer (leider nur in englischer Sprache erhältlich) ist im Downloadbereich von MicroOLAP (http://www.microolap.com) zu finden und für 30 Tage gültig. Genug um die erste Datenbank zu entwickeln und sich mit dem Tool anzufreunden.
Ich gehe davon aus, das postgreSQL funktionstüchtig ist und der Server gestartet ist. Deshalb starten wir nach der Installation zugleich den Database Designer und erstellen ein neues Projekt.
Dazu klicken mit der Maus auf New Diagramm (siehe Kreis) und eine neue Arbeitsfläche öffnet sich.

In der Object Tree View sind nun mehrere Ordner hinzugekommen. Unter anderem mehrere Schemas mit deren Hilfe man eine bessere Strukturierung der Datenbank erreicht.

Wir ändern nun den Namen unserer Datenbank indem wir mit einem Rechtsklick in den Ordner Database klicken und dort auf Properties. Im sich öffnenden Fenster können nun zahlreiche Änderungen vorgenommen werden wie zum Beispiel der Datenbankname oder das Hinzufügen von Kommentaren. In unserem Fall ändern wir den Datenbank namen auf first_project.
Da unsere Datenbank nun noch ziehmlich leer ist, werden wir einige Tabellen in das bereits bestehende Schema public hinzufügen.
Dazu klicken wir in der Palette auf Table und anschließend an die Stelle in unserem Arbeitsbereich, an der die neue Tabelle angezeigt werden soll. Zugleich wird diese in unserer Object Tree View angezeigt.

Mit einem Doppelklick auf unsere neue Tabelle öffnen wir den Table Editor der Tabelle und ändern im Feld Table_name den Namen in Kunden.

Anschließend klicken wir im Editor auf den Reiter Columns um die Spalten hinzuzufügen bzw. zu bearbeiten.
Im unteren linken Teil des Managers finden wir nun einen Button Add, mit welchem wir die neuen Spalten hinzufügen.
Da in dieser Tabelle die Kundendaten abgelegt werden sollen, fügen wir die Spalten Name, Vorname, Ort und ID hinzu.
Die Felder Name, Vorname und Ort erhalten den Datentyp varchar und die ID das Format int4. Da die Spalte ID unser Primärschlüssel werden soll, müssen wir hier zusätzlich das Kästchen Primary Key anklicken. Das Ergebnis müsste nun wie folgt aussehen…

Nun erstellen wir noch eine neue Tabelle mit dem Namen Bestellung und fügen die Spalten Bestell_ID und Auftragsnummer hinzu. Beide Felder bekommen als Datentyp int4 (4 Byte lange Integerzahl, also ganze Zahlen) zugewiesen. Das Resultat sieht dann so aus:

Nun benötigen wir noch Beziehungen zwischen den einzelnen Tabellen. Dazu bestehen zwei Möglichkeiten. Einmal eine 1:n und eine n:m Beziehung. Für meine Möglichkeiten befindet sich ein Button in der oberen Menüleiste.

Da ein Kunde verschiedene Bestellungen haben kann aber nur eine Bestellung zu einem Kunden gehören kann, wählen wir ei-ne 1:n Beziehung.
Dazu klicken wir auf den Button Reference und klicken nun erst die Tabelle Kunde an und danach die Tabelle Bestellung. Im sich öffnenden Fenster klicken wir auf OK.
Unser Ergebnis:

Wir sehen nun einen Pfeil welcher von tabelle Kunde zu Tabelle Bestellung zeigt. Der Fremdschlüssel Bestell_ID wurde automa-tisch zur Tabelle Kunde hinzugefügt.

Wir haben nun eine neue Datenbank erstellt, in dieser Tabellen mit Referenzen erstellt. Doch unser Database Designer bietet noch weit aus mehr. So können wir unser Projekt nun für die Dokumentation vorbereiten indem wir auf Diagram Properties (grüner Kreis) klicken.

Hier können wir unserer Datenbank eine Beschreibung bzw. einen Kommentar hinzufügen und die automatische Versionskontrolle aktivieren. Dies ist bei größeren Projekten sehr sinnvoll.
Wollen wir nun die Daten für unsere Dokumentation erhalten, so klicken wir auf Create Diagram Report (blauer Kreis) und wir erhalten eine HTML-Seite.

Dieser sieht dann so aus…
klick hier


Eine PDF-Datei mir dem ganzen zusammengefasst findet ihr hier.

Wenn man das Beispiel so verwenden würde, müsste man für jede Bestellung einen neuen Kunden anlegen und kann einer Bestellung beliebig viele Kunden zuweisen.

Ich denke andersrum wird ein Schuh draus:
Eine Spalte - nennen wir sie kunde_id - in Tabelle bestellung referenziert die Spalte id in der Tabelle kunde. Dann hat jede Bestellung genau einen Kunden und Kunden können beliebig viele Bestellungen haben.