Information Management Metamodel (IMM)
Information Management Metamodel (IMM) is the common base for the conceptual schema (ER) and database schema (DB).
OMG is the globally leading board for metamodels which coined the term "information management" in the area of data models. These metamodels are structured hierarchically using inheritance. IMM is the common super model for ER and DB. This chapter describes model elements which are used both in entity relationship schema and database schema but do not have any specialized subelements.
Various terms are used in various metamodel levels. The following must be noted to understand this chapter:
-
A classifier in IMM specializes an entity or an ER view in ER and a database table or DB view in DB.
-
A feature in IMM specializes an attribute in ER and a column in DB.
-
An association in IMM specializes a relationship in ER.
-
A relationship key in IMM specializes a foreign key in ER and DB.
The following model elements are used in the ER and DB models:
-
Semantic Data Type
A semantic data type is used as the type for attributes in the ER schema or columns in the database schema. It describes the information to be saved with regard to the meaning (semantics) of the value, not the type of saving.
Example: A number can be interpreted as either a quantity or a code (e.g. zip code, customer number ...). Technical terms as names, e.g. number, string, etc., are not suitable as the semantics can be intuitively taken from the name. You should not describe the type of storage; this is described by the data type definitions' assignment.
-
Sequence Type
A sequence type is a special form of the semantic data type. It is used for automatically assigning values e.g. for keys. It can be set with the start value, increase value and other properties. A semantic data type can be entered for a sequence type; this is used for the foreign key as it does not make sense to automatically enter it there.
The sequence type and foreign key type need to have data type definitions which are suited to each other so that the foreign key can be realized in the database.
-
Data Type Definition
The data type definition defines which type is used in a specific type system. A semantic data type or a table column is given a type in the target type system.
-
Feature in the Key
These are standalone model elements which assign a feature (entity's attribute or database table's column) to a key. A "feature in the relationship key" is the assignment to a foreign key. It needs a "feature in the unique key" to exist and should belong to precisely the foreign key's referenced key.
These elements are normally created automatically when primary or foreign keys are modeled.
You primarily use the following diagram types for data modeling:
Further Information
