Domain Model

2 minutes to read Download PDF Edit

The domain model is a data model that describes the information in your application domain in an abstract way. It is central to the architecture of your application. The domain model consists of entities and their relations represented by associations.

Components

Entities

See entities.

Associations

See associations.

Technical Appendix

In the database every entity is stored in one separate table and has columns for the attributes defined in the Modeler, the system attributes and a unique identifier for the object. If an entity has specializations there is also a column indicating which specialization the object belongs to. An association is stored in a cross-table with the identifiers (ID) of both objects.

Take a look at the following domain model.

The entity ‘Customer’ is stored in the table ‘module$customer’ which is shown below. Take note of the ‘system$owner’ and ‘system$changedby’ columns which contain the IDs of the ‘User’ objects from the ‘System’ module.

idcreateddatechangeddatesystem$ownersystem$changedbyfullname
12006-10-24 08:10:45.0532009-11-27 09:56:45.0996629Steve Jobs
32007-09-30 09:56:45.0992008-04-01 08:10:45.0536634Bill Gates

The association ‘Order_Customer’ is stored in the table ‘module$order_customer’ which is shown below. Both columns contain IDs of the associated objects.

module$orderidmodule$customerid
81
53

The entity ‘Order’ is stored in the table ‘module$order’ which is shown below. It is similar to the table of the entity ‘Customer’. However all system attributes have been disabled and are not stored in the table.

idnumberdate
552009-11-27 09:56:45.099
882008-04-01 08:10:45.053