Information Management Metamodel (IMM)
Das Information Management Metamodel (IMM) ist die gemeinsame Basis für das konzeptionelle Schema (ER) und das Datenbankschema (DB).
Das weltweit führende Gremium für Metamodelle ist die OMG, die für den Bereich Datenmodelle den Begriff Information Management geprägt hat. Diese Metamodelle sind mit Vererbung hierarchisch aufgebaut. IMM ist das gemeinsame Obermodell für ER und DB. In diesem Kapitel werden Modellelemente beschrieben, die sowohl im Entity-Relationship-Schema als auch im Datenbankschema genutzt werden, dort aber keine spezialisierten Unterelemente besitzen.
In den verschiedenen Metamodell-Ebenen werden verschiedene Begriffe verwendet. Für das Verständnis dieses Kapitels seien folgende erwähnt:
-
Ein Classifier in IMM spezialisiert sich in ER zu einer Entität oder einer ER-Sicht und in DB zu einer Datenbanktabelle oder einem DB-View.
-
Ein Feature in IMM spezialisiert sich in ER zu einem Attribut und in DB zu einer Spalte.
-
Eine Assoziation in IMM spezialisiert sich in ER zu einer Beziehung.
-
Ein Beziehungsschlüssel in IMM spezialisiert sich in ER und DB zu einem Fremdschlüssel.
Folgende Modellelemente werden im ER-Modell und im DB-Modell genutzt:
-
Semantischer Datentyp
Ein semantischer Datentyp wird als Typ für Attribute im ER-Schema oder Spalten im Datenbankschema genutzt. Er beschreibt die zu speichernde Information im Hinblick auf die Bedeutung (Semantik) des Wertes, nicht auf die Speicherform.
Beispiel: Eine Zahl kann als Anzahl oder auch als Code (z.B. Postleitzahl, Kundennummer...) interpretiert werden. Technische Bezeichnungen als Name, wie z.B. Zahl, Zeichenkette ..., eignen sich nicht, da sich die Semantik intuitiv aus dem Namen ergibt. Eine Beschreibung der Speicherart ist aber nicht erwünscht, sondern wird durch Zuordnung von Datentypdefinitionen extra beschrieben.
-
Sequenz-Typ
Ein Sequenz-Typ ist eine spezielle Form des semantischen Datentyps. Er dient der automatischen Vergabe von Werten, z.B. für Schlüssel. Es kann mit Startwert, Erhöhungswert und anderen Merkmalen festgelegt werden, wie sich der nächste Wert berechnet. Für einen Sequenz-Typ kann ein Semantischer Datentyp angegeben werden, der für Fremdschlüssel verwendet wird, da dort eine automatische Vergabe keinen Sinn macht.
Der Sequenz-Typ und sein Fremdschlüsseltyp müssen zueinander passende Datentypdefinitionen enthalten, damit der Fremdschlüssel in der Datenbank realisiert werden kann.
-
Datentypdefinition
Die Datentypdefinition besagt, welcher Typ in einem konkreten Typsystem verwendet wird. Damit wird ein semantischer Datentyp oder auch direkt eine Tabellenspalte konkret mit einem Typ im Ziel-Typsystem versehen.
-
Feature im Schlüssel
Dies sind eigenständige Modellelemente, die ein Feature (Attribut einer Entität oder Spalte einer Datenbanktabelle) einem Schlüssel zuordnen. Ein "Feature im Beziehungsschlüssel" ist die Zuordnung zu einem Fremdschlüssel. Es benötigt als Existenzvoraussetzung ein "Feature im eindeutigen Schlüssel", das genau zu dem referenzierten Schlüssel des Fremdschlüssels gehört.
Diese Elemente entstehen im Normalfall automatisch beim Modellieren von Primär- oder Fremdschlüssel.
Für die Datenmodellierung verwenden Sie vor allem folgende Diagrammtypen.
Weitere Informationen