Data Modeling 101: The What? Why? and When?
What is a Data Model?
In semi-technical terms, A data model is a set of symbols and text used for communicating a precise representation of an information landscape. (Hoberman, 2016, p.13). In laymans terms (i.e., my interpretation) a data model is similar to a blueprint used when building a house. It contains lines and shapes denoting the location of where the different rooms will be located, and where the different pipes and wirings will go, so that the builders can use it as reference during the construction of the house.
The process of creating a data model is called data modeling.
3 Types of Data Models
- Conceptual data models (CMDs): Higher level model that includes only business rules and concepts with a defined scope. This model is created first when building an application.
- Logical Data models (LDMs): A more detailed version built of the CDM that defines attributes and the relationships (aka. business rules) between different entities. This model is created second.
- Physical Data models (PDMs): An even more detailed version built of the LDM that contains technical details (aka. internal schema) pertaining to the application design. This model is created last.
Why is it important?
Data modeling can be an important step towards achieving communication and precision for applications and even businesses as a whole (Hoberman, 2016). It helps to clarify the terminology of objects and names, relay the relationships of different objects to one another, and construct a definitive set of rules abided by each object as well as the overall system. By doing so, data modeling helps eliminate confusion and ensures that everyone has the same understanding of the different objects and their interactions within the system.
Data models also help to inform the functioning of existing applications, educating new team members who are new to the application and in conducting impact analysis.
When is it utilized?
Data models are often used as a crucial first step in the build of any application, particularly in database applications. They help clarify the roles of different entities within a system, their relationships to each other, and the limits they have. By creating data models initially during an application development, developers are able to identify and address potential bugs an application could encounter conceptually. This makes data models a very cost effective tool because it helps eliminate or reduce recoding costs that could arise in addressing issues with the application after it has been launched. Data models can also be used in identifying appropriate software that fits the needs of a business.
Key Take-Aways
- Data models serve as blueprints in the development of an application and data modelling is the process of creating data models
- Data models are tools used in communication, understanding and clarity across multiple stakeholders
- Data modeling is useful in thinking clearly about a problem and helps to create a better application design
- Data models help lower the costs of development by identifying and addressing potential bugs prior to code deployment
- Ultimately, data models are useful in building quality software in an predictable way
References Hoberman, S. (2016). Data modeling made simple: A practical guide for business and IT professionals (2nd ed.). Basking Ridge, NJ: Technics Publications.
Learning Resources Below are a few helpful resources you could also review to learn more about Data modeling:
Recent posts
Prioritize Your Data and Reporting Needs When Shopping for a Data Management System
Marry your Data Management System or Date Other Systems: The Difference Between an All-in-One System and a Best-of-Breed (or Best of Need) Solution
Navigating the Cloud: AWS vs Azure
Let’s work together!
Most nonprofits spend days putting together reports for board meetings and funders. The Inciter team brings together data from many sources to create easy and effortless reports. Our clients go from spending days on their reports, to just minutes.