Schritt für Schritt: Verbindungen zwischen Klassen verwalten

Folgende Schritte sind für die Definition einer Verbindung zu erledigen:

  1. Die Verbindung identifizieren.
  2. Die Klassen bestimmen, die verbunden werden sollen.
  3. Die Klassen der linken oder rechten Seite zuordnen.
  4. Die Multiplizitäten der Verbindung festlegen.
  5. Die Verbindung benennen und möglichst genau beschreiben.

Start

Ausgangspunkt ist die Liste aller Verbindungen einer Quelle, die im ersten Tutorial neu definiert wurde. Die Liste der Verbindungen ist noch leer.

1. Die Verbindung identifizieren

Es gibt unterschiedliche Gründe bzw. Wege, eine Verbindung zu identifizieren:

  • a) Weil die Daten es inhaltlich hergeben (z.B. secondary Keys, geometrische Verschneidungen, dezidierte Verbindungstabellen).
  • b) Weil eine Verbindung nötig ist, um Handlungen, Prozesse o.ä. abzubilden.
  • c) Als Kurzschluss zwischen bereits existierenden Verbindungen (vgl. Kurzschlüsse bei Verbindungen).

Für die beiden im vorangegangenen Tutorial definierten Klassen "Gemeinden" und "Landkreise" lässt sich Folgendes beobachten:

  • Inhaltlich ist eine Verbindung zwischen Gemeinden und Landkreisen gegeben: sie bilden verschiedene Verwaltungsebenen ab. Es ist sehr nützlich zu wissen, zu welchem Landkreis eine Gemeinde gehört und umgekehrt.
  • Auch die Datengrundlage für die Verbindung ist gegeben: Anhand der Stellen des ARS können Gemeinden und Landkreise einander eindeutig zugeordnet werden.

Dementsprechend soll die Verbindung zwischen Kreisen und Gemeinden definiert werden.

2. Die Klassen bestimmen, die verbunden werden sollen

Die Verbindung soll die beiden Klassen "Kreise" und "Gemeinden" miteinander verbinden.

3. Die Klassen der linken oder rechten Seite zuordnen

Hier gibt es keine inhaltliche Vorgabe, was die Entscheidung angeht. Es ist allerdings in vielen kommenden Schritten wichtig zu wissen, auf welcher Seite welche Klasse steht.

Als Konvention hat sich etabliert, die Klasse, die mehr Verbindungen, Informationen etc. enthält, rechts anzuordnen. Demensprechend wird als rechte Seite die Klasse Gemeinden gewählt, als linke Seite die Klasse Kreise. Um diese Zuordnung zu verdeutlichen, wird die Verbindung "Kreis -> Gemeinde" benannt.

4. Die Multiplizitäten der Verbindung festlegen

Dies ist ein besonders wichtiger Punkt. Es sei an dieser Stelle ausdrücklich auf die Erläuterungen zu Multiplizitäten in der Dokumentation des Datenmodells verwiesen.

Im vorliegenden Fall gibt es folgende Annahmen:

  • Jede Gemeinde ist höchstens einem Kreis zugeordnet (min1 = 0 max1 = 1).
  • Jedem Kreis sind mehrere Gemeinden zugeordnet (min2 = 0 max2 = 0).

5. Die Verbindung benennen und möglichst genau beschreiben

Mit dem abgebildeten Formular wird eine Verbindung zwischen zwei Klassen definiert. Alle bisher durchlaufenen Schritte werden hier zusammengeführt und dokumentiert.

Die Felder "name" "description" und "comment" werden identisch zu denen der Klassendefinition genutzt, um die Verbindung zu benennen und zu beschreiben.

Mittels der Felder „min1“, „max1“, „min2“ sowie „max2“ wird die Multiplizität  der Verbindung festgelegt (Schritt 4).

Mittels "Targets" wird definiert, zwischen welchen Klassen die Verbindung besteht (vgl. Schritt 2). Diese sind durch ihre ClassId und ihre SourceId identifizierbar und können mittels eines Dropdowns ausgewählt werden.

Der Knopf "add target" erlaubt es, weitere Klassen links oder rechts zur Verbindung hinzuzufügen, was in diesem Beispiel aber nicht erforderlich ist.

Unter „side“ wird definiert, zwischen welchen Klassen die Verbindung besteht (vgl. Schritt 3).

Ergebnis

Im Ergebnis ist nun nicht wie zu Beginn die Liste aller Verbindungen der Quelle abgebildet, sondern die Anzeige aller Verbindungen, die mit einer bestimmten Klasse, hier "Gemeinden", zusammenhängen. Die Abbildung zeigt einen fortgeschrittenen Stand des Datenpools, in dem die Klasse "Gemeinden" mit einer ganzen reihe von anderen Klassen vielfältig verbunden ist:

  • Die Pfeile in der Ansicht zeigen an, auf welcher Seite der Verbindung sich die aktuell ausgewählte Klasse befindet: bei der Verbindung zur Klasse "Gemeindeverband" ist die Gemeinde die rechte Seite, bei der Verbindung zur Klasse "Kommunales Teilgebiet" die linke.
  • Die unterste Verbindung ist durch den eckigen Pfeil und den "TYP: View" (im grauen Badge) als Shortcut-Verbindung erkennbar (vgl. Artikel zu Verbindungen im Kapitel zum Datenmodell).

Einmal definierte Verbindungen können bearbeitet bzw. aktualisiert werden. Die Oberfläche entspricht derjenigen der Neudefinition (s.o.), nur dass einige automatisch generierte Einträge vorhanden sind (z.B. classId und target table) und manche Daten nicht veränderbar sind (z.B. type und source).

Auch die beteiligten Klassen können bearbeitet werden: