Data Modeling refers to the practice of documenting software and business system design. The “modeling” of these various systems and processes often involves the use of diagrams, symbols, and textual references to represent the way the data flows through a software application or the Data Architecture within an enterprise. Data Modeling also includes practices such as business process modeling which deals with larger conceptual business process and decision making flows of entire organizations.
There is a host of related terminology including conceptual modeling, enterprise modeling, logical models, physical models, entity-relationship models, object models, multi-dimensional models, knowledge graphs, statistical models, canonical data models, application data models, business requirements models, enterprise data models, integration models, business information models, ontologies, taxonomies, non-relational models, semantic modeling, ORM, UML, and many others.
A data model is used to document, define, organize, and show how the data structures within a given database, architecture, application, or platform are connected, stored, accessed, and processed within the given system and between other systems.
According to the Data Management Book of Knowledge (DMBOK), Data Modeling is:
“The process of discovering, analyzing, representing, and communicating data requirements in a precise form called the data model.” And “data models depict and enable an organization to understand its data assets.”
Many Data Modeling tutorials discuss the three primary types of data models: logical, physical, and conceptual. The Data Administration Newsletter (TDAN.com) defines each of them as:
- “A physical data model represents the actual structure of a database—tables and columns, or the messages sent between computer processes. Here the entity types usually represent tables, and the relationship type lines represent the foreign keys between tables.”
- “A logical data model is a fully attributed data model that is fully normalized. Fully attributed means that the entity types have all the attributes and relationship types for all the data that is required by the application(s) it serves. It may include:
- Restrictions on the data that can be held
- Rules and derived data that are relevant to the processes of the application(s) the logical data model serves.”
- “A conceptual data model is a model of the things in the business and the relationships among them, rather than a model of the data about those things. So in a conceptual data model, when you see an entity type called car, then you should think about pieces of metal with engines, not records in databases. As a result, conceptual data models usually have few, if any, attributes.”
Other Definitions of Data Modeling Include:
- “Data modeling is a representation of the data structures in a table for a company’s database and is a very powerful expression of the company’s business requirements. This data model is the guide used by functional and technical analysts in the design and implementation of a database.” (Techopedia)
- “Data modeling is the act of exploring data-oriented structures. Like other modeling artifacts data models can be used for a variety of purposes, from high-level conceptual models to physical data models. From the point of view of an object-oriented developer data modeling is conceptually similar to class modeling. With data modeling you identify entity types whereas with class modeling you identify classes.” (Agile Data)
Some Benefits of Data Modeling for Organizations are:
- Higher quality software development.
- Reduced costs.
- Faster time to market.
- Clear understanding of scope, vocabulary, and other development elements.
- Better application and database performance.
- High quality documentation.
- Fewer errors in software.
- Fewer data errors across organizational systems.
- Better risk management.
Photo Credit: dizain/Shutterstock.com