A data model is an (abstract) model that describes how data are represented and accessed.
Data models formally define entity and relationships among entities for a domain of interest.
This is schema but on an entity/relationship level and not on raw data.
A data model is a representation of:
- the reality.
- things (or entities or objects) of importance to a business
- how the things relate to each other
A data model is a formal way to represent the business rules.
It is built and modified until it represents the business well enough to write a system. Data models must be built during requirements.
A Data Model has three main components:
- structures that represent entity and relationship.
- constraints that defines data rules
- Operations supported on the structure (behavior)
- for an object: object model
- for table, relation: an relational model
- for a graph: Property graph (node model)
Without Data Model
Data Modeling Process
Physical data model
Logical design is what you draw with a pen and paper or design with a data modeling tools before building your data warehouse database. Physical design is the creation :
- of the database with SQL statements.
- of a file structure
During the physical design process, you convert the data gathered during the logical design phase into a description of the physical structure. Physical design decisions are mainly driven by:
- query performance
- and database maintenance aspects.
For example, choosing a partitioning strategy that meets common query requirements enables the Database to take advantage of partition pruning, a way of narrowing a search before performing it.
A Physical Data Model is the physical manifestation of the logical data model (relationships) into database tables and foreign key constraints.
A physical DB schema describes the storage structures and access methods used in order to effectively access and maintain data.
Difference between logical and physical
Both, the logical and physical data model are presented as ER diagrams. A logical model is slightly more abstract than a physical model.
- A physical model represents exactly what is implemented in a database (table, column names, schema, indexes, data types, contraints, tablespaces, partitions and all the other requirements to define the database.
- A logical model shows entities, attributes, keys and relationships. Names are usually more free-form and descriptive.
Data Model Fit-Gap Analysis
Fit-gap analysis is where you compare your information needs and business requirements with the actual data model structure.
Documentation / Reference
- Source: Batini, C., Ceri, S., and Navathe, S. B., Conceptual Database Design: An Entity-Relationship Approach, The Benjamin/Cummings Publishing Company, Inc., 1992.