Erweiterungen dienen mehrheitlich dazu, häufig vorkommende Modellierungsfälle einfacher zu dokumentieren.
Bei einigen Erweiterungen ist angegeben, wie sie automatisch in ein Modell aus Kernelementen überführt werden können. Obwohl sie vordergründig Regeln des Kernmodells verletzen, sind sie so definiert, dass ihre äquivalente Darstellungen im Kernmodell automatisch erreicht werden kann.
Damit erfüllt auch das erweiterte Modell die Regeln des relationalen Modells.
In diesem Bereich sind die Elemente des erweiterten Modells beschrieben.
Die Elemente des Kernmodells sind auf der Seite Kernmodell.
Wertebereiche beschreiben die Menge der erlaubten Werte für ein Attribut. Die einfachen Wertebereiche und die Wertelisten (siehe Wertebereiche im Kernmodell) beschreiben die Wertmengen von Attributen, die genau einen Wert aufnehmen können der genau einen Aspekt beschreibt. Zusammengesetzte Werte sind nicht erlaubt.
Es gibt aber Attribute, die immer in Gruppen vorkommen und die Gruppen haben eine eigene Bezeichnung.
Beispiele:
Geokoordinate (Längengrad, Breitengrad)
Telefonnummer (Landvorwahl, Anschlussnummer)
Elektronische Adresse (Email Adresse, LinkedIn-ID, Facebook-ID)
Anders betrachtet: es gibt Attribute, die aus mehreren Komponenten bestehen. Diese Komponenten sind selber wieder Attribute mit einem Wertebereich.
Die Aussage im Modell, dass eine Geokoordinate ein Attribut eines Gebäudes ist, kann übersetzt werden als
Längengrad und Breitengrad sind Attribute eines Gebäudes.
Längengrad und Breitengrad werden zur einfacheren Nutzung gruppiert und können mit dem Namen Geokoordinate angesprochen werden.
Die many-to-many (viele-zu-viele, M:N) Beziehung verknüpft in beide Richung 1 Instanz der einen Entität mit 0..vielen Instanzen der anderen Entität. Die Kardinalität ist bei beiden Enden M.
Assoziationstexte sind in beide Richtungen Pflicht.
Beispiele:
Eine Bestellung enhält viele Artikel.
- Ein Artikel wird in vielen Bestellung bestellt.
Eine Person wird kontaktiert von vielen Personen
- Eine Person kontaktiert viele Personen.
Eine many-to-many Beziehung impliziert (in der Umsetzung) immer eine weitere Entität, die diese Art der Verknüpfung abbildet. Wir verzichten im Informationsmodell zu Gunsten der einfacheren Darstellung darauf, diese zusätzliche Entität (mit je einer Verbindung zu den beiden Entitäten) darzustellen.
Sobald dieses zusätzliche Entität aber Attribute oder Beziehungen hat, muss sie als normale Entität dokumentiert werden.
Rollen dienen dazu, gemeinsame Eigenschaften und Beziehungen von mehreren Entitäten zusammenzufassen. Rollen sind 1:1 Beziehungen mit der Bedeutung ist. Die Entität, die die Rolle verkörpert, hat eine zwingende Beziehung zur Hauptentität.
Bei Rollen, kann eine Hauptentität keine, eine oder mehrere der verknüpften Rollen (gleichzeitig) annehmen.
Beispiel:
Eine Person kann sowohl ein:e Mitarbeiter:in als
auch ein Gewerkschaftsmitglied sein.
Ein:e Mitarbeiterin ist eine Person.
Ein Gewerkschaftsmitglied ist eine Person.
Vererbung
Jede als Rolle verknüpfte Entität erbt sämtliche Attribute und Beziehungen der übergeordneten Hauptentität.
Beispiel:
Eine Person hat die Attribute Vorname, Name, Geburtsdatum.
Damit hat auch ein:e Mitarbeiter:in diese 3 Attribute, ohne dass in
der Entität Mitarbeiter:in dokumentiert werden.
Mehrfachvererbung
Eine Entität kann Rolle von mehreren Hauptentitäten sein .
Sie ist dann jede der Hauptentitäten und erbt demnach alle Attribute und Beziehungen aller Hauptentitäten.
Beispiel:
Ein Amphibienfahrzeug ist ein Schiff
und ist ein Strassenfahrzeug.
D.h. es hat geerbte Eigenschaften wie Räderanzahl aber auch Eigenschaften wie Tiefgang.
Exklusive Rollen (Subtypen)
Exklusive Rollen, auch Subtypen genannt sind Rollen einer Hauptentität. Dabei muss aber die Hauptentität (auch Supertyp genannt) genau eine der zu einer Gruppe zusammengefassten Rollen annehmen.
Exklusive Rollen sind exklusive 1:1 Beziehungen (siehe auch Exklusive Beziehungen).
Beispiel:
Eine Firma ist entweder eine Aktiengesellschaft
oder eine GmbH
oder eine Kommanditgesellschaft.
Eine Aktiengesellschaft ist eine Firma.
Eine GmbH ist eine Firma.
Eine Kommanditgesellschaft ist eine Firma.
Suptypen werden oft als Kästchen-in-Kästchen dargestellt.
Siehe dazu das Informationsmodell der Beziehungen im Abschnitt Kernelemente.
Eine Beziehung ist entweder eine Funktionale Beziehung
oder eine Rollenbeziehung.
Eine Funktionale Beziehung ist eine Beziehung.
Eine Rollenbeziehung ist eine Beziehung.
Es kann mehrere Gruppen exklusiver Rollen geben. Siehe dazu das Beispiel der Verkehrsmittel bei den Exklusiven Beziehungen.
Gemäss Kernmodell kann ein Attribut zu einem Zeitpunkt nur einen Wert haben.
Haufig vorkommende Modellmuster sind aber historisierte, mehrwertige und übersetzte Attribute.
Für diese Fälle werden hier Ergänzungen voorgeschlagen, bei denen sichergestellt ist, dass die Modellregeln eingehalten sind.
Viele Softwarepakete haben für diese Fälle Lösungen, so dass die Vereinfachung direkt in die Umsetzung übernommenm werden kann.
Beachte die mehrfach Markierung [T] bei Landname und Produktbeschreibnung.
Bei einigen Attributen ist es wichtig, die Geschichte der Veränderungen ihres Wertes zu kennen. Man spricht von historisierten oder temporalen Attributen.
Beispiel:
Ländernamen können ändern. Man möchte jederzeit feststellen können, wie das Land vorher hiess.
Das bedeutet, jede Version des Attributwertes muss zusammen mit seiner Gültigkeitsperiode (von-bis) verwaltet werden.
Man markiert diese Attribute mit einem Merkmal temporal ([T] im Diagramm) und überlässt es den IT-Leuten, dies regelkonform umzusetzen.
Für Fälle, bei denen es für einen Attributwert mehrere gleichwertige Werte geben kann, markiert man das Attribut als mehrwertig ([N] im Diagramm).
Beispiel:
Ein Produkt kann mehrere alternative Bezeichnungen haben.
Wichtig ist für diese Vereinfachung, dass die Werte alle gleichwertig sind. Es darf z.B. aus der Reihenfolge keine Information abgeleitet werden wie: "Der erste Vorname in der Liste ist der Taufname."
Gewisse Attributwerte sollen in mehreren Sprachen geführt werden.
Solche Attribute markiert man als menrsprachig ([L] im Diagramm). Wie viele Sprachen es sind wird in der Regel auf einer übergeordneten Ebene für alle mehrsprachigen Attribute entschieden.
Das hier vorgestellte Modell beschreibt das Minimum an Merkmalen für die Dokumentation der Modellelemente.
Je nach Umgebung können weitere Merkmale wichtig sein.
Beispiele:
Für solche Zusatzmerkmale (auch additional oder user defined properties genannt),
ist es möglich, eine Liste erlaubter Zusatzattribute festzulegen und zu verwalten.
Solche Zusatzattribute dürfen aber die Semantik der Kernelemente nicht verändern und auf deren Interpretation keinen Einfluss haben. Sie dürfen auch die Modellregeln nicht verletzen. D.h. es sind reine Zusatzinformationen, deren Interpretation und mögliche Konsequenzen ausserhalb dem vom Kernmodell vorgegebenen Rahmen liegen.
stay tuned