Aufbau eines Datenmodells mit Hilfe des Modellgenerators (DB-Struktur bis Mitte 2007)

Top  Previous  Next

Zum Aufbau eines eigenen Datenmodells kann zum großen Teil (Definition der Objektklassen, der Objekte, der Objektkomponenten, etc.) die Oberfläche der "ModellEdit.mdb" mit ihren Masken genutzt werden. Vor ihrer ersten Nutzung müssen allerdings die Tabellen aus der Datenbank "ModellGlobal.mdb" mit "ModellEdit.mdb" verknüpft werden:

 

Starten der "ModellEdit.mdb" (aktuelle Vorgehensweise):

Die aktuellere „ModellEdit“ Funktion ist wesentlich leichter zu starten als die vorherige. Zum Starten klicken Sie einfach die Ihrer Office Version (97, 2000 oder 2002) entsprechende  ModellEdit Datei, z.B. ModellEdit_2002.mdb, doppelt. Folgende Maske erscheint in ihrem Access Fenster:

 

image5_4

 

Wählen Sie nun die gewünschte Datenbank aus. Soll eine bestehende Datenbank editiert werden, z.B. um zusätzliche Objekt erweitert werden, dann klicken Sie bitte auf den kleinen Pfeil (links neben Neu) und durchsuchen Sie ihr Dateisystem nach der gewünschten Datenbank.  Wählen Sie die Datei mit der Endung *.mdb aus und bestätigen Sie das Öffnen der Datenbank mit OK. Ist ihre Datenbank nicht in der Liste enthalten, müssen Sie zunächst auf „Neu“ klicken und ihr Verzeichnissystem nach der Datenbank durchsuchen.  Nach einmaligen Aufruf steht ihnen diese Datei dann beim nächsten mal zur Auswahl und sie brauchen nur auf den kleinen Pfeil klicken.

 

Starten der "ModellEdit.mdb" (Vorgehensweise bei älteren Versionen):

Dazu muss die ModellEdit.mdb geöffnet werden. Normalerweise öffnet sich beim Doppelklick auf das Dateisymbol direkt die Eingabemaske des Modellgenerators. Um Tabellen aus anderen Datenbanken zu verknüpfen, muss die Datei vorher markiert werden und dann unter Umgehung der vorgesehenen Startprozedur (die sofort eine Maske öffnet) geöffnet werden, indem man sie mit gedrückter <SHIFT> -Taste doppelt klickt. ModellEdit.mdb öffnet sich dann, dass Fenster bleibt im Hintergrund und muss zur Weiterarbeit in den Vordergrund geholt werden. Dann muss der Menüpunkt "Datei|Externe Daten|Tabellen verknüpfen..." gewählt werden.

 

image5_5

 

Gehen Sie auf "Verknüpfen". Es öffnet sich folgender Dialog:

 

image5_6

 

Gehen Sie auf "Alle auswählen" und anschließend auf "OK".

Die Tabellen aus ModellGlobalDE.mdb sind nun dynamisch verknüpft (schwarzer Pfeil) und können über die Masken in ModellEdit.mdb stets aktuell angezeigt und weiterverarbeitet werden:

 

image5_7

 

Dazu muss ModellEdit.mdb geschlossen werden und wieder - diesmal ohne gehaltene <SHIFT>-Taste sondern durch einfachen Doppelklick - geöffnet werden.

 

image5_8

 

Erstellen des Datenmodells – Benutzung der Edit-Datenbank:

Das Anlegen von neuen Objekten oder Komponenten verläuft in bestehenden oder neuen Datenbanken auf die gleiche Art und Weise.

Möchten Sie eine neue Datenbank eröffnen, brauchen Sie zunächst eine leere Vorlage. (Siehe vorherige Beschreibung zum älteren Editieraufruf)

Zur Erleichterung wird diese von Moskito mitgeliefert. Sie finden diese „fast leere“ Datenbank im Moskito Programmverzeichnis unter Moskito\Rahmen\Database\ModellGlobal.mdb.

In dieser Datei ModellGlobal.mdbist  bereits die richtige Datenstruktur angelegt. Da diese Datei auch zukünftig als Grundvorlage verwendet werden sollte, ist es Notwendig, diese vorher zu kopieren und umzubenennen. In diesem  Beispiel kopieren wir die Datei nach  C:\temp und nennen die „ModellGlobal.mdb“ in „TotalNormal.mdb“ um.

Nachdem Sie dies erledigt haben, gehen Sie zu der oben abgebildeten Maske zurück und wählen Neu aus. Im Beispiel manövrieren wir zum entsprechenden Dateispeicherort C:\temp,  wählen die Datei „TotalNormal.mdb“ aus und bestätigen das Öffnen dieser Datenbank mit OK.

Der Moskito Modellgenerator wird geladen und Sie sollten folgendes Bild sehen.

 

image5_9

 

Zum Neuaufbau neuer Objektstrukturen muss nun in den Editiermodus übergegangen werden. Dieser ist über die Schaltfläche mit dem stilisierten Stift zu erreichen. Es erfolgt eine Kennwortabfrage. Das Kennwort ist in den älteren Versionen „GRADIS“  und in neueren Versionen  „Tölpel“.

Erst nachdem das Kennwort abgefragt wurde, stehen weitere Schaltflächen zur Verfügung. Sie erscheinen in dem gekennzeichnete Bereich. Die Schaltflächen ermöglichen die eigentliche Editierung ihrer Datenbank welche z.B. aus dem Neuanlegen oder Löschen von Objekten oder Komponenten bestehen kann.

 

image5_10

 

Auch wenn über diese Eingabemasken ein Großteil des Datenmodells editiert werden kann, müssen bestimmte Einträge direkt in den Tabellen der Datenbank z.B. "TotalNormal.mdb" gemacht werden, beispielsweise wenn bestimmte Objektmethoden eingetragen werden sollen. Das heißt z.B., dass ähnlich wie in einer Batch-Datei entsprechende Befehle vorliegen, die z.B. durch Aufrufen eines Objektnamens aus der Datenbank gestartet werden. Diese hinterlegte Automatik wird in der Datenbank definiert und zwar in der Tabelle Objektmethoden. Um direkt in die Datenbank zu gelangen klicken Sie die Datenbankdatei einfach doppelt und Microsoft Access öffnet ihnen die Tabellenübersicht.

Möglicherweise müssen Sie je nach verwendeter Access Version vor der Bearbeitung der Datenbank eine Konvertierung vornehmen. Access weist sie allerdings schon darauf hin und zeigt Ihnen automatisch den richtigen Weg, wie sie ihre Datenbank für ihre verwendete Access Version entsprechend konvertieren. (Datenbank schließen >Extras > Datenbank Dienstprogramme > Datenbank konvertieren)

Verwenden sie logischerweise die Konvertierungsart zu der Office Version mit dem sie auch den Modellgenerator von Moskito gestartet haben bzw. später ihre Datenbank weiter bearbeiten wollen. Haben sie mit der ModellEdit_97.mdb gearbeitet konvertieren sie die Datenbank in Office 97, haben sie mit der  ModellEdit_2002.mdb  gearbeitet konvertieren Sie in Office 2000, usw.

 

image5_11

 

image5_12

 

Nachdem die neue Klasse „Elektrizitätsversorgung“ angelegt ist wird nun durch einen Doppelklick darauf in dieses Klassenthema gesprungen.  Der neu angelegten Klasse „Elektrizitätsversorgung“ sollen nun auch Objekte zugeteilt werden. Dazu wird die Schaltfläche Objekt angeklickt. Das Anlegen eines neuen Objektes geschieht auf der jeweils aktiven Ebene.

 

image5_13

 

Das Anlegen eines Objekts in der Klasse  Elektrizität. Vergeben Sie einen Objektschlüssel, eine möglichst kurze und eindeutige Objektbezeichnung und die Ebene im Datenmodell (02).

Es ist unbedingt zu empfehlen, schon wegen der Übersicht und besseren optischen Trennung der einzelnen Klassen,  die Objektbezeichnungen mit Unterstrichen zu trennen. Bindestriche und Kommas sollten unbedingt vermieden werden.  Ebenso sollte Anstelle von „ä“ ein „ae“ und Anstatt „ü“ besser „ue“  verwendet werden!

Letzter Schritt zur Objekterstellung: Wählen Sie unter Modell „Bestand“ und unter Planart „Globaler Bestand“ aus. Im Feld AOK tragen Sie im Zweifel ein Sternchen ein (*).  Zum Abschluss bestätigen sie die Objekterstellung mit dem „Okay Häkchen unten links.

 

image5_14

 

Im Beispiel sind 3 Objekte (Kabel_100 bis Kabel_300) in der Klasse Elektrizitätsversorgung zu sehen.

 

image5_15

 

Es wurden drei Objekte angelegt, bestehend aus verschiedene Kabeltypen die im Plan gesondert dargestellt werden sollen. Zu diesen Objekten sollen nun einzelne Komponenten angelegt bzw. definiert werden. Oder anders ausgedrückt, die Objekte welche die Realität widerspiegeln sollen, müssen in der Datenbank nicht nur auftauchen, sondern in ihrer Darstellung detailliert beschrieben werden. Also z. B. die Art und Weise wie Sie im Plan zeichnerisch dargestellt werden, welche Strichstärke und welche Farbe wird für die Darstellung verwendet.  Ebenso ist über die Komponenten festzulegen um welchen Typ es sich handelt, ist es bspw. ein Symbol oder eine Linie?

Um diese Eigenschaften zu erstellen, muss zunächst ein Objekt aus der Liste ausgewählt sein. Anschleißend wird der Button „Komponente“ angeklickt und das nachfolgende Fenster öffnet sich.

 

image5_16

 

Erklärung zu den einzelnen Feldern in entsprechender Reihenfolge, so  wie diese bei der Komponentenerstellung ausgefüllt werden sollten.

Komponentenart: Hier wird festgelegt, um was für eine Art Element es sich handelt. Im Beispiel wurde „String/Linie“ ausgewählt. In der Vorlagedatenbank  „ModelGlobal.mdb. (bzw. der  Kopie „TotalNormal.mdb) befinden sich bereits einige Komponentenarten deshalb erscheint nach Auswahl einer Linie automatisch die Abkürzung „_STR “ oder nach Auswahl eines Symbols die Endung  „_SYM“.

Komponentenbezeichnung: Hier ist der Name der entsprechenden Komponente einzutragen. Es ist durchaus Empfehlenswert aufgrund der Übersichtlichkeit den  gleichen  DKY und DKA Zahlenwert zu vergeben, eben wie die Objektnummer. Im Beispiel wird dem Objekt 10003 (Kabel_300) die Komponente „K_300_Blau_STR“ mit dem DKY 10003 und dem DKA 10003 zugewiesen.

Modell - Auswahl / Wertigkeit / DKA: An dieser Stelle wird festgelegt, welche Modelleigenschaften die Komponente besitzen soll. Auf diese Eigenschaften wird bspw. bei einer Planprüfung zurückgegriffen.  Die Wertigkeit legt z.B. fest über wie viele Angaben das Objekt bzw. die Komponente verfügen soll. Wird an dieser Stelle bspw. angegeben, dass mindestens zwei Eigenschaften vorhanden sein müssten, diese aber nicht angelegt worden sind, wird die Planprüfung einen Fehler melden. Es ist in jedem Fall gründlich zu überlegen, welche Wertigkeit Sie festlegen. Dazu ein Beispiel:  Angenommen Sie legen fest, dass zu dem Objekt Haus die Komponente Hausnummer immer nur einmal erscheinen darf. Weil dies für sie zunächst logisch erscheint, wählen Sie die Wertigkeit 1 aus. In der Realität werden manchmal aber mehrere Hausnummern vergeben. Beim Abbilden der Realität werden nun im Plan bei einigen Häusern zwei Hausnummern angegeben. Bei der Planprüfung wird so aufgrund der Wertigkeitseinstellung (1) ein Fehler gemeldet.

Plan – Auswahl / Priorität: Durch Angabe des Prioritätswertes werden die Komponenten in vorbestimmter Reihenfolge gezeichnet. Bei der Default (-1) Einstellung bleibt die Zeichenfolge die, in der die Objekte auch im Plan eingetragen wurden.  Es gilt, dass der höhere Wert der Objektkomponente auch mit Vordringlichkeit dargestellt wird, oder, anders gesagt, zuletzt gezeichnet wird und somit die dahinter liegenden Elemente verdeckt.

 

Modellrelevante Einträge, die nicht mit der Edit - Oberfläche gemacht werden können

 

Methoden

Soll z.B. im Kontextmenü eines Objektes ein Eintrag "Detailzeichnung" erscheinen, sind dazu Einträge in folgenden Tabellen notwendig:

In der Tabelle MethodenParameter wird als Funktion KontextMenü eingetragen, in Prameter1 der Name, in Parameter2 ALL_OBJECT und in MethodenID die ID einer Methode, die in der Tabelle ObjekteMethoden definiert ist.

In der Tabelle ObjekteMethoden wird in der Spalte ObjekteID eingetragen, für welches Objekt die Methode zur Verfügung stehen soll. In Modell wird das Modell eingetragen, in Methodennummer eine (noch nicht vergebene) Nummer, in Methodenname ein erklärender Name und in Methode die auszuführende Methode(n). Zeilenumbrüche können mit CTRL+Enter erzeugt werden.

 

Prüfungen

Um die Objekte in einem Plan zu prüfen, ob sie den Festlegungen des Datenmodells gerecht werden, gibt es unter Extras | Prüfen | Objekt einen Dialog, mit dem man einzelne oder eine Gruppe von Objekten überprüfen kann.

Standardmäßig wird überprüft, ob DKY, DKA, Wertigkeit (Anzahl) usw. einer Linie, eines Textes, etc dem Datenmodell entsprechen.

Sollen noch Prüfungen durchgeführt werden, die über die Festlegungen in der Tabelle hinausgehen, können weitere Prüfkriterien in der Tabelle ObjektePrüfungen eingetragen werden.:

In der Spalte ObjektID wird die ID des Objektes eingegeben. Komplementär dazu in der Spalte KomponentenID die ID der Komponente. In die Spalte Modell kommt das Modell, für das die Festlegung gelten soll. In die Spalte Gruppe kommt ein Eintrag, der der Regel einen passenden Namen gibt und dem Programm mitteilt, welche Zeilen zur Prüfdefinition dazugehören. Verschiedene Objekte können gleichlautende Prüfungen benutzen, da aber für ein Objekt mehrere Prüfungen gelten können, werden diese über die Gruppe voneinander unterschieden. In der Spalte Sortierung muß für jede Zeile eine eigene (fortlaufende) Nummer eingetragen werden. In TestArt wird dann eingetragen, was getestet werden soll:

 

genau_einer ( genau ein Element aus dieser Gruppe muß im Objekt vorhanden sein )

maximal_einer (maximal ein Element aus dieser Gruppe muß im Objekt vorhanden sein)

minimal_einer (minimal ein Element aus dieser Gruppe muß im Objekt vorhanden sein)

wenn (genanntes Element vorhanden ist (Sortierung = 1))

dann (muß jedes der folgenden Elemente auch vorhanden sein)

dann_nicht (darf keines der folgenden Elemente auch vorhanden sein)

zuletzt gibt es noch die Möglichkeit, eine Funktion aufzurufen und deren Ergebnis zu überprüfen (Bsp: m_le(DBquery(VON,BIS from open object /noq))).