When we construct a building, we first plan what do need in the building, and then we put it in the form design on the paper. Once rough copy of design is done, we review it and modify wherever is necessary. Once the design is complete, we gather all the materials to construct the building, then we place, roof, wall, rooms, doors, windows etc at the right place as per the design. Once the building is complete, we design the interior for each room. Once interior design is complete, we start building it on each room. Once it is complete, we plan furniture etc and the process goes on. One complete furnished building takes different steps of well designing and effort of giving them life.
Similarly, when we say database for particular requirement is needed, then we look into what are components of requirement. Then we plan how it can be structured in the database. Planning the structure of database is called data models. It involves planning about tables, their columns, mapping between the tables, how they are structured in the physical memory etc. A data model helps to put the real world requirement into a design. This makes the developer to understand the relationship between various objects in the database. It helps to highlight any drawbacks of the plan and correct it at the design stage itself.
Depending on the levels of data we are modeling, we have divided data models into 3 categories – Object Based, Physical and Record based Data models.
Physical data model represent the model where it describes how data are stored in computer memory, how they are scattered and ordered in the memory, and how they would be retrieved from memory. Basically physical data model represents the data at data layer or internal layer.
Object and Record based data models are modeled based on the data at the application and user level. They are basically responsible for designing various objects of the database, and their mappings. They are further divided into different categories as shown in below diagram.