Featured Post

Applying Email Validation to a JavaFX TextField Using Binding

This example uses the same controller as in a previous post but adds a use case to support email validation.  A Commons Validator object is ...

Friday, January 7, 2011

ETL and the Logical Model

For some applications, the logical model represents a significant investment.  From Hibernate and JPA, to Microsoft's ADO.NET Entity Framework, to PHP ORM libraries, development is moving farther away from the database and into higher levels of abstraction.  This presents a challange for ETL developers who don't use these frameworks and have to operate their tools on the physical model.  What's lost are the business relationships that represent the heart of the application.

The logical model is an arrangement of domain objects.  Often, these domain objects have a strong presence in the database.  That is, a domain object is easily recognizable as a relational table.  But domain objects also include relationships and that's where the divergence with and RDBMS begins.

For example, take a simple domain object called 'Contact'.  The Contact can be any of three ContactTypes: Customer, 'C'; Vendor, 'V'; or Employee, 'E'.  Also, a Contact may at least one email address.  In a logical model, this is shown as follows in a diagram created in Enterprise Architect.
CONTACT Logical Model
 Despite the similarity of ContactType's and ContactEmail's relationships with Contact, they have a very different physical implementation.  Since there may be some unused ContactTypes -- say there aren't any Employees initially -- the relationship is a Many-To-Many and requires a join table.  An Email is required and won't be orphaned in the database; this is a Many-To-One.
CONTACT Physical Model
 Today's ETL tools emphasize the physical model.  They read schemas from relational databases like Oracle or SQL Server and establish source / target mappings to other databases, files, and XML.  But because they lack access to the logical model, the tools aren't as effective as they could be.

There are some techniques in Java that can bridge this gap.  Look for future posts identifying easy-to-use or graphical solutions to integration.


  1. I found your blog on Google and read a few of your other posts too, it is very informative and also influencing me to read more of yours. You have done an exceptional job by adding your hardwork and dedication to it. I am a big fan of art and craft. I just added you to my bookmarks and recommending your blog to my social profiles too. Just like the other budding bloggers i have started my blog, You can support me by visiting my site for more paper airplane related information and knowledge, Keep up the great work Look forward to reading more from you in the future. Thanks in anticipation.
    how to make a paper airplane that flies far and straight | classic dart paper airplane | how to make a good paper | nakamura lock paper airplane instructions | best paper airplane design for distance and accuracy | best paper airplane design for distance and speed | Boomerang paper airplane instructions | Zazoom internet | Eagle paper airplane | how to make a paper airplane that flies far and straight step by step | 4 aerodynamic forces | Paper airplane templates for distance | the eagle paper airplane | best paper plane in the world | How to make a successful paper airplane