Enforcing consistency by attaching domain elements to your model
A domain model describes the domain types that an organization allows and their constraints. Using domain data types instead of base data types ensures that you maintain consistency across an organization, and allows reuse of common data type definitions for greater team efficiency.
You can add some domain-specific rules into the model by creating a domain model and then attaching the domain level elements to your logical or physical model. In this example, the Library logical model is extended to add a Member Entity. The Member entity has MemberID, Address and License Attributes. The License field has protected information considered to be of PII (Personal Identification Information) category, so it has to have certain special rules applied. For this to happen, you have to create a domain model first.
- Navigate to the root of the storesModel project and right-click on New > Domain Model.
- Give it the name LibraryDomainModel and then click on Finish.
- Navigate to LibraryDomainModel.ddm in the Data Project Explorer and then right-click on Package1 and select Add Data Object > Atomic Domain.
- In the Properties tab shown below, set the fields as follows in
the Properties view:
- Enter LicenseType for the Name field
- Select CHAR from the Base Type drop-down
- Set the Length field to 20
- In the Privacy tab:
- Select PII from the Classification drop-down
- Use the Masking Method field to set a masking method. (Masking methods are employed by the IBM Optim Data Privacy Solutions and Test Data Manager to mask data when the data is being extracted for test purposes, thereby hiding the original data. IDA 7.5.1 provides this integration with IBM Optim 6.x. You can export the model to an Optim-specific file format and then use the Optim tool for test data extraction purposes. See Resources for a link to the Data Architect e-Kit, which includes a tutorial on how to do this — "Manage data privacy from design to development" (developerWorks, December 2008).
After you have created your domain model, you can add a new logical model entity for Member with details as shown in Figure 33 and set its attributes to:
- MemberID - Integer
- Address - character - length 50
- License - LicenseType
- Also, add a relationship between Library and Member using MemberID
You can then translate the model to a physical model, and also export the physical model to the Optim Format for use by the Optim Test Data Manager product.
Figure 33. Final LogicalModel