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 DAMA International Data Management Book of Knowledge (DMBOK), Data Modeling is:
- “An analysis and design method used to:
- Define and analyze data requirements.
- Define logical and physical structures that support these requirements.”
- And, “a data model is a set of data specifications and related diagrams that reflect data requirements and designs.”
Most 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.”
Photo Credit: dizain/Shutterstock.com