Beziehungen zwischen Modellelementen
Elemente stehen auf vielfältige Weise zueinander in Beziehung. Grundsätzlich hat z.B. jedes Modellelement zumindest eine Besitzbeziehung. Grafisch werden die meisten Beziehungen als Kante (Linie) dargestellt. Beziehungen drücken Zuordnungen, Vererbungen, Abhängigkeiten, Flüsse, Kompositionen usw. aus.
Notation von Beziehungen
Beziehungen können in Diagrammen durch Kanten (Linien), Nachbarschaftsbeziehungen oder Schachtelungen ausgedrückt werden. Zusätzlich sind Informationen über Art sowie Lese- und Navigationsrichtung der Beziehungen notwendig. Kanten sind in Abhängigkeit von der Notation des Beziehungstyps entweder "rechtwinklige" Kanten mit ausschließlich horizontalem und/oder vertikalem Verlauf oder Polygonzüge mit beliebigen Stützpunkten.
In Tabellen werden Beziehungen durch die Zuordnung in Spalten und Zeilen ausgedrückt.
Im Modellbaum werden die Besitzbeziehungen analog zu Verzeichnisbäumen mit gestrichelten Linien dargestellt.
Ungerichtete und gerichtete Beziehungen
Beziehungen sind wichtige Sprachmittel in Modellierungssprachen. Sie setzen ein oder mehrere Elemente in Relation. Auch für Beziehungen ist eine Festlegung der Semantik wichtig.
Ungerichtete Beziehungen drücken zumeist binäre Assoziationen (Verbindungen) aus, bei denen die Richtung nicht festgelegt ist.
Gerichtete Beziehungen bestehen zwischen mindestens einer Quelle und mindestens einem Ziel. Gerichtete Beziehungen werden zumeist als Pfeil dargestellt, dessen Spitze auf das Ziel zeigt.
Wichtige gerichtete Beziehungen sind z.B. Vererbung (Generalisierung, Spezialisierung), Realisierung, Abhängigkeit, aber auch Aggregation/Komposition.
Unidirektionale und bidirektionale Beziehungen
Aus streng objektorientierter Sicht müssen bidirektionale Beziehungen als zwei inverse unidirektionale Beziehungen aufgefasst werden, weil sonst z.B. das Prinzip der Kapselung der beteiligten Objekte verletzt wird.
In der Entity-Relationship-Modellierung werden grundsätzlich bidirektionale Beziehungen angenommen.
Dieser semantische Unterschied ist beim Erstellen und Lesen von Modellen zu beachten.
Navigationsrichtung und Leserichtung
Navigationsrichtung und Leserichtung sind unabhängig voneinander.
Die Navigationsrichtung gibt explizit an, ob ein Objekt auf ein anderes Objekt Zugriff hat. Wenn keine Navigationsrichtung angegeben ist, ist der Zugriff ungeklärt. Beziehungen können ein- oder beidseitig navigierbar sein.
Die Leserichtung dient ausschließlich dem Verständnis des Assoziationsnamens, der in Abhängigkeit vom Modellierungszweck gewählt wird.