Using Data Models to Improve Development

One of the biggest challenges facing organizations today is making sure that the right information gets to the right people. It requires attention, diligence, and planning to ensure that data is used appropriately and accurately. Unfortunately, few organizations treat data as the corporate asset it truly is.

Data architects can design the best possible data model, but that doesn't mean developers will use the information the way it was intended or that business analysts will immediately understand the relationships between different data elements. An integrated solution for modeling can help reduce this problem by streamlining information exchange and contextualizing the data model to minimize errors. When models are used by all data stakeholders - whether for application development, extract, transform, and load (ETL), business intelligence (BI), or business usage - organizations can effectively communicate disparate requirements in context. For example, a data architect passing a logical data model to a development DBA needs to ensure the design is properly implemented in the database so the business rules are enforced. With an integrated approach, models and the underlying metadata are smoothly and accurately passed across functional boundaries.

The models for the data architect and the DBA remain similar in look and feel and utilize the same types of notation. Deploying modeling solutions with tight integration across functional areas can reduce the amount of time, effort, and error involved in sharing information. And sharing at the model level simplifies potentially complex processes because models can more readily be consumed and understood by all required parties. In this context, a model isn't just a diagram with boxes and arrows. Yes, a data model must include the visual representation of ;the data (such as an entity/relationship diagram), but it also must be backed up by metadata. A model without metadata might as well be just a quick picture scrawled on a napkin somewhere. It’s the powerful combination of a clear diagram and the metadata definitions for the elements in the diagram that make a model useful.

Among other objectives, a good data modeling solution can help you to reverse-engineer existing schemas into models and forward-engineer models into new schemas. This is basically what you do during an ETL process: You reverse-engineer an existing data source (extract the data along with the accompanying metadata, and it's the latter that's described in the schema), transform that data, and then forward-engineer the target data.

It makes a lot of sense to utilize models as a mechanism to facilitate data movement and data warehouse population. A model-driven approach to data integration can enable data architects and BI professionals to import data models and the associated metadata for use during ETL. This visual approach to data integration helps simplify the process while ensuring the complete and accurate migration and integration of data between systems.

Models can also be used to guide application development. The comprehensive data model can be integrated into a process model to streamline the development steps. With knowledge of and access to the metadata, developers are better prepared to build the correct processes the first time. Furthermore, application modeling solutions used by development teams enable clear application models to be created that can then be translated into code. Model-based application development enables the deployment of higher quality applications in less time. And, with the appropriate tools, you can then generate code directly from models into popular application development technologies.

Creating data models and collecting metadata that spans the breadth of an organization can deliver significant benefits such as better decision support and business information or richer customer information and support. However, these benefits are realized only when the information is accessible and accurate. Using integrated modeling solutions to implement model-driven data management and development can help organizations share knowledge effectively and with minimum effort. It will certainly produce higher quality applications and data too.

A logical data model should be used as the blueprint for designing and creating physical databases. Modeling can be integrated into your IT infrastructure, thereby helping to exploit the synergy that exists within your databases, IT activities, and application systems.