If you have been working in IT industry for a while, you should have a basic understanding of data modeling concept.
The primary goal of this post to share a few basic concepts around data modeling and also to discuss what are different types of data models you should be aware of.
What Is Data Modeling?
Data Modeling is a method of defining and analyzing data requirements needed to support the business functions of an enterprise. Data modeling is the act of exploring, understanding and designing data-oriented structures. When you are doing data modeling, you identify entity types their purpose and then relationships among them.
Whether you are working on a web-based application driving e-commerce or an inventory
control application or a decision support system, you need an effective way to store, retrieve, and use data in order to make that application successful. Data modeling is a crucial part of that design.
The data requirements of an enterprise are recorded as a conceptual data model with associated data definitions. Data modeling defines the relationships between data elements and structures as well and the result of this exercise is a data model.
What Are Different Types Of Data Models?
In general, three data model styles namely conceptual data model, logical data model and physical data model. Let’s discuss about each of them.
1. Conceptual Data Model
The conceptual data model is describes the semantics of an organization. It consists of entity classes which represent things of significance to the organization and the relationships among these entities.
The conceptual data model is commonly used to explore high level static data structures and concepts around data flow. However, conceptual models can be used as precursor to creation of logical data models.
The conceptual data model is also known as the domain model since it is used to explore the domain concepts. An ER-Diagram can be classified as a conceptual data model.
2. Logical Data Model
The logical data model is created to describe semantics related to particular data manipulation methods. The descriptions covered under logical data models include those of tables, their columns, rules, standards and many other things. The logical data model ideally depicts logical entity types and their attributes to describe how entities relate to each other and one another.
The logical data models could be defined for the scope of a single project or for the whole enterprise depending on the scope of data modeling.
2. Physical Data Model
The physical data model is created to implement the actual data structures in the target database. The physical data model represents the design of actual table names, their columns and other dependent database objects to be deployed into the database schema.
Physical data model design clearly defines each table, data columns for the tables created and the relationships among those tables. There are many powerful data modeling tools available that have the ability to either generate scripts to be executed in the database from the physical data model or directly deploy all the database objects defined in the data model into the target database schema.
Data Modeling – Crucial Element Of Application Development
Whether you are a datawarehouse developer or an application developer, you need to understand the fundamentals of data modeling.
Because it helps you understand better and then do an optimal development work for an effective application .
Data modeling tasks that a data modeler performs often include the following:
- Identify entities and classify them into their types
- Identify attributes of each entity
- Define and apply naming conventions
- Create standards for commonly used attributes
- Identifying relationships among entities
- Applying data model patterns
- Create and assigning key attributes
- Perform Normalization to maintain data integrity and reduce redundancy
- De-normalizing to improve performance (in datawarehousing environments)
- Manage a version control on various data model revisions
Popular Data Modeling Tools
Relational database systems have been a de-facto standard for storing data and therefore, data modeling has become an industry in itself. To make the process of creating data models easy and to be able to manage data models effectively, there are world class data modeling tools available today.
There are many tools to list and I will rather have you refer to this following page which lists and compares all data modeling tools in a table format:
However, here are some of the popular tools, widely used and my favorites:
- Power Designer and
- Microsoft Visio
Share Your Experience With Data Modeling Tools
What are some of your favorite data modeling tools? What kind of data models have you designed in your career? Please share your experience through your comments.