(1) Create Submodel (external Model)

The Master model (Conceptual Schema) can become quite large and difficult to handle for an end-user or an application team. A team which is only concerned with a subset of the entire model is better off with a submodel (external schema). We create a Submodel for "Finance" which contains only the entities Customer, Payment and Order.

  • (1) (not displayed): right click in the Dictionary on the Icon "Schemas", select "Add", Enter the name of the Subschema (Finance) and confirm
  • (2) Click on the Subschema (S) perspective: the dictionary pane is removed and the Master pane and the Subschema pain are displayed.
  • (3) Click on the Finance icon in the Subschema list
  • (4) Select all entities in the Master model which should be allocated to the Finance submodel using Shift/Click
  • (5) Drag the selected group to the Finance (Schema) pane and drop it there
  • (6) The picture for the submodel was generated and displayed. Notice that all attributes of the selected entities are now also allocated to the entities in the submodel. All relations between the selected entities are also in the submodel. Outside relation (e.g. between Order and OrderItem) are dropped.
(2) Define Access Rights

A "Subschema" (Submodel) provides a selective View of the data: User Groups or Applications are associated with a submodel to grant specific access rights: Only entities belonging to the submodel and only attributes and relations defined in this submodel can be accessed by such an application.

The access rights can be configured exactly to the needs of an application. The metasafe core handles the access rights in a completely transparent manner.  

  • (1) The application cannot "see" the attribute "Note" of the entity Customer if we delete it from the list:  to remove the attribute "Notes" from the attribute list of Customer. Right click on this item and select delete -> Done. This will NOT affect the data in the database – only  the attribute "Note" is not be accessible for "Finance"-Applications.
  • (2) Applications using the Finance Schema (View, Submodel) should have only "read" access to the entity Order. Right click on the entity Order. Select "Edit Access Right" in the dropdown list. Then select readonly in the Access Right window. Done.
(3) Assign Access Rights

The rights system manages rights for user-groups and users and distinguishes between access right for the models and access rights for the data.

  • (1)  The users belonging to the user group Finance have the "update" right to the "Finance"-Submodel and no rights for the other submodels and not rights for the master model.
  • (2)  The uses belonging to the user group Finance have no right to change any model – neither the master model, nor the models (Schemas) where they have data access rights (as explained in (1). Therefore the members of this group cannot access (read or update) even their own model.
  • (3)  User Miller belong to the user group finance and has only the rights defined for the user group. One could however grant him the right to access the Finance model (clicking the model access box).  Users can transfer only access rights within the limits of their own access rights and cannot change their own access rights.