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.
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.
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.
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, 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 oben in diesem Abschnitt.
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 Markierungen bei Landname und Produktname.
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.
Beispiele:
Ländernamen (beachte L und T bei Name des Landes)
Produktbeschreibung
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 menrsprachigen 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 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