Most software developed to work with relational databases, and more recently, with NoSQL databases, uses some type of mapping layer to retrieve and persist data between the application layer and the database. For us, this raised the question of how to define the object model and the database schema together, so that one implied the other, and could be used to generate the software artifacts that bind the application to the database.
To achieve this capability we defined a schema for describing an object model, and a set of canonical transformations from the object model to the database model. Then we write the code to support these transformations, i.e. to generate DDL, upgrade scripts and method and procedure signatures along with baseline implementation for basic crud operations. In this session I will explain how this all came to be, how it works, and what benefits have accrued, which will include:
The objectives for the model doc processor Describing our meta model Describe the mapping from the model to the physical tables Show how the model handles various relationships, such as inheritance and containment Discuss our experience and the benefits that we have obtained from using this strategy