Data Modeling

There are many areas where the experience of a developer comes to shine but none is so obvious as the skill of a good data modeler. A good data modeler has experience in a plethora of business domains and has the ability not only to draw from them, but to analyze requirements and reduce them to the similiarities faced in other areas.

A good data modeler will strive to solve the general issue, rather than the specific one at hand. This is demonstrated by a resulting model that needs few or no modifications when unexpected extensions are required and those modifications are typically benign in natue. In contrast to this are the usual cries for opportunities to "Refactor" existing models after an initial development effort has been completed.

The desire to refactor applies equally well to object models as to relational models and are the result of a lack of initial insight into the general domain.

The most recent opportunity existed to introduce a role based party model at Compassion International for their Ministry Information Library (MIL) project reducing to a fraction of the current number of tables the many that were crafted on an initial design which didn't stand up to the naturally required extensions because of the lack of a general logical model. In addition to reducing the size and complexity of ad hoc iterrelated tables, the model has already been judge to support future requirements still in drawing stage.