The data model is designed to enforce certain rules on the information – such as ensuring that customer identifiers are never duplicated, that no account exists without a customer to own it, and that all the information about a customer has been filled in.
The data model is designed to enforce certain rules on the information – such as ensuring that customer identifiers are never duplicated, that no account exists without a customer to own it, and that all the information about a customer has been filled in.
By applying a disciplined approach to the creation of these structures to store information it is possible to more easily make use of it, to find what one needs and to bring information from different systems together.
This, in brief, is the practice of data modeling; and it serves a number of key functions:
- Helps to communicate clearly by crafting precise definitions, and drafting concise diagrams. It helps to articulate business information through the definitions that frequently fall to the modeler to prepare; through the isolation of specific business concepts as model “entities” with specified attributes and relationships to other business concepts.
- Protects the organization against change by systematically re-orienting business information away from the specifics of a given source system and into a more “essential” form – conforming to a standard that any new system will also have to conform – and so buffering processes that consume from the new standard against future changes.
- Maximizes the value of data assets by creating an inventory that makes those assets visible, assesses their quality, ensures their accuracy before allowing them to be consumed.
- Communicates to business users by passing on the output to business intelligence tools, business glossaries and other vehicles for dissemination of the information.
- Helps track deliverables against requirements by formally identifying the required data elements and applying due rigour to their placement in the target system.
- Provides a central point of reference for stakeholders as a repository of metadata; information about the information that the system holds, that is of use to the whole development team.
- When practiced with due rigour and discipline, reduces the risk to the development project by increasing efficiency, reducing the need for rework, increasing accuracy, and helping users be more productive because they gain a fundamental trust in the system.
In their excellent book on data design concepts, Data Modeling Essentials, Graeme C Simsion and Graham C. Witt, suggest that data modeling involves design, choice, and creativity.
The role of data modeling involves design because we are being asked to design the structures that will hold information most effectively.
It involves choice, because there is always more than one way to do things – although there may be a single best way.
It involves creativity, because we are asked to think laterally around problems, with the imagination and openness to see things from multiple perspectives.
Should we data model?
- Data modeling is part of a deliberate, disciplined, dedicated effort to analyze, articulate and address issues.
- The alternative is a hurried, haphazard, half-baked set of tables that are ill-conceived, undocumented and leave problems unchanged.
There are really only two paths to follow: one leads to a well-ordered system, the other, potentially, (possibly inevitably), to a type of chaos.
Data modeling is a critical, essential, mandatory part of the development of any information system.
(Data modeling / shutterstock)