What is a Data Model?
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.
Data Modeling Overview:
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 Models are created in either Top Down Approach or Bottom-Up Approach. In Top-Down Approach, data models are created by understanding and analyzing the business requirements. In Bottom Up Approach, data models are created from existing databases, which has no data models. IDEF1X is the common notation used in creating data models since it is more descriptive.
Data Models are created for OLTP databases by normalizing the data and for OLAP databases, data models are created by de-normalizing the data. Data Models cannot be frozen since update will happen on data modeling based on business requirements. Data Models looks like a blue print or like a map. Data Model is not an exact replica of the database and it will not contain all the objects or code present in the database since several objects are available in database and tonnes and tonnes of code would have been developed by developers. Usually Data Models contains the key database objects like tables, columns, relationships, constraints etc.
Data model helps functional and technical team in designing the database. Functional team normally refers to one or more Business Analysts, Business Managers, Subject Matter 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.
Data Modeling Concept:
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).
Data Engineers, Data Modeler and Data Architect are the common titles for those who are involved in data modeling. To become an efficient data modeler, you should have an overview about the database objects, constraints, normalization and understanding the requirements correctly.