Chapter 12 Generating Other Models from an OOM
Persistent codes are defined for OOM classes and attributes. They are used during OOM to PDM generation in order to fine tune data storage in a relational database. They also facilitate round-trip engineering by allowing to recover object codes from the database.
You can define the type of persistence you want to implement in the Persistent group box in the Detail tab of a class property sheet:
Attribute and associations of persistent classes with a persistence generation mode set to "Migrate columns" are migrated to parent or child tables.
You can also define persistent data types for class attributes and domains. For data type persistence management, you have to take into account the following parameters:
For more information on the generation of complex abstract data types, see section Managing complex data type persistence.
If you generate the following OOM into a PDM:
The migration of attributes in the generated PDM depends on the persistence option of the classes in the source OOM:
Persistence | Result |
---|---|
Parent and child / Generate table | Two tables are created for each class |
Parent / Migrate columns Child / Generate table |
Table Child is generated with parent attributes |
Parent / Generate table Child / Migrate columns |
Table Parent is generated, with child attributes |
Parent and child / Migrate columns | Nothing is generated |
In the following OOM, class Customer inherits from Person via a generalization link. Person is not persistent but Customer is persistent.
Customer inherits the attributes of the parent class in the generated PDM:
A derived class is created for conceptual reasons to improve the readability of a model but it adds no semantic information. There is no point of generating a derived class in a PDM, and attributes of this class should be migrated to parent.
In the following example, class Women is created to further analyze class Employee and highlight a specific attribute "Maternity leave". This class is derived, thus not generated but persistent:
In the generated PDM, Employee inherits from parent class and also from derived class:
Copyright (C) 2005. Sybase Inc. All rights reserved. |