Schema Editor

Der Schema-Editor dient dazu, die Definitionen der Datenbanktabellen zu erstellen und bearbeiten. Die Sicht des Schema-Editors ist zweigeteilt.

Auf der linken Seite werden in einer Tabelle die Definitionen der verschiedenen Datenbanktabellen aufgelistet:

Die Spalte "Name" enthält den logischen Namen der Tabelle, mit dem diese Tabelle aus anderen Definitionen (z.B. dem Modell) referenziert wird. Die Spalte "DB-Name" enthält den technischen Namen der Datenbanktabelle, so wie diese in SQL angesprochen wird. Im Bearbeitungsmodus können neue Tabellendefinitionen erstellt oder bestehende modifiziert werden. Das Icon vor dem Namen der Datenbanktabellen-Definition kennzeichnet den Typ. Die folgenden Typen existieren:

  • Eine "abstrakte" Tabellen-Definition wird mit gekennzeichnet. Eine "abstrakte" Tabelle existiert nicht in der realen Datenbank, sondern die Tabelle dient lediglich als Vorlage für die Definition anderer Tabellen. Bei der Tabellendefinition gibt man an, welche andere Tabelle erweitert werden soll. Durch Erweiterung "erbt" die neue Tabelle alle Spalten der erweiterten Tabelle und kann weitere hinzufügen. Eine abstrakte Tabelle kann nur verwendet werden, um als Basis für die Definition anderer Tabellen zu dienen.
  • Ganz "normale" Tabellen-Definitionen sinddurchgekennzeichnet. Zu diesen Definitionen existieren entsprechende Tabellen in der Datenbank, auf die mit SQL zugegriffen werden kann.
  • Assoziationen werden durch gekennzeichnet. Eine Assoziation ist eine spezielle Definition einer Datenbanktabelle. Sie enthält für die Quelle und das Ziel zwei zusätzliche Spalten.
  • Durch werden sogenannte "Summentypen" gekennzeichnet. Ein Summentyp gibt einer Reihe von anderen Tabellen einen gemeinsamen Namen, mit dem eine Referenz auf Objekte in diesen Tabellen ausgezeichnet werden kann. In einer Fremdschlüsselspalte können Referenzen auf andere Objekte in anderen Tabellen abgelegt werden. Die Zieltabelle muss dabei anders als in reinem SQL nicht fest vorgegeben sein, sondern Referenzen in unterschiedlichen Zeilen können auf unterschiedliche Tabellen verweisen. Der Typ der Fremdschlüsselspalte schränkt die möglichen Tabellen ein, auf welche die Referenz verweisen kann. Ist der Typ eine abstrakte Tabelle, so können Referenzen auf alle konkreten Tabellen verweisen, welche die abstrakte Tabelle erweitern. Sollen Referenzen auf voneinander unabhängige Tabellen (die nicht Erweiterungen einer gemeinsamen abstrakten Tabelle sind) verweisen können, so kann als Referenztyp ein Summentyp gewählt werden, der die möglichen Ziele der Referenz aufzählt.



    Die Definition needsRoleAware kann nur durch die Definitionen FastListElt, MetaAttribute oder PersBoundComp erweitert werden.
     

Die restliche Sicht ist in 4 Bereichen unterteilt:

Eigenschaften

Der Tab Eigenschaften dient als Detailsicht für die Definition einer Datenbanktabelle. Im Bearbeitungsmodus können hier die verschiedenen Attribute bearbeitet werden.

Spalten

Die Sicht der Spalten ist zweigeteilt. Auf der linken Seite werden die verschiedenen Spalten der selektierten Datenbanktabellen-Definition aufgelistet. Daneben befindet sich die Detailsicht für die selektierte Spalte. Im Bearbeitungsmodus können hier ebenfalls die verschiedenen Attribute bearbeitet, neue Spalten angelegt oder gar nicht weiter benötigte Spalten wieder gelöscht werden.

Verwendungen

Im Tab Verwendungen werden alle Objekte aufgelistet, die diesen Typ benutzen.

Beispielsweise ist Person der Ziel-Typ der Referenz user der Datenbanktabelle LogEntry.

Abbildung

Im Tab Abbildung wird aufgelistet welche Modellelemente in die Datenbanktabelle gespeichert werden.