What is Data Modeling
A Data model is a conceptual representation of data structures(tables) required for a database and is very powerful in expressing and communicating the business requirements.
A data model visually represents the nature of data, business rules governing the data, and how it will be organized in the database. A data model is comprised of two parts logical design and physical design.
Data model helps functional and technical team in designing the database. Functional team normally refers to one or more Business Analysts, Business Managers, Smart Management Experts, End Users etc., and Technical teams refers to one or more programmers, DBAs etc. Data modelers are responsible for designing the data model and they communicate with functional team to get the business requirements and technical teams to implement the database.
The concept of data modeling can be better understood if we compare the development cycle of a data model to the construction of a house.
For example Company ABC is planning to build a guest house(database) and it calls the building architect(data modeler) and projects its building requirements (business requirements). Building architect(data modeler) develops the plan (data model) and gives it to company ABC. Finally company ABC calls civil engineers(DBA) to construct the guest house(database).
Need for developing a Data Model:
* A new application for OLTP(Online Transaction Processing), ODS(Operational Data Store), data warehouse and data marts.
* Rewriting data models from existing systems that may need to change reports.
* Incorrect data modeling in the existing systems.
* A data base that has no data models.
Advantages and Importance of Data Model
* The goal of a data model is to make sure that all data objects provided by the functional team are completely and accurately represented.
* Data model is detailed enough to be used by the technical team for building the physical database.
* The information contained in the data model will be used to define the significance of business, relational tables, primary and foreign keys, stored procedures, and triggers.
* Data Model can be used to communicate the business within and across businesses.