About Hasmukh patel

My Photo
Harrow, London, United Kingdom
Dot-Net developer with expertise in Web, WPF, Win-form applications. Have worked on Asp.net,mvc , WPF and Win-forms projects in c#.net language having Sql-Server/Oracle as database with service oriented architecture using test driven development. Having complete knowledge of SDLC and have successfully worked and implemented it on projects.

Database Data Modeling

The three levels of data modeling.


Conceptual data model


A conceptual data model identifies the highest-level relationships between the different entities. Features of conceptual data model include:
  1. Includes the important entities and the relationships among them.
  2. No attribute is specified.
  3. No primary key is specified.

Logical data model


A logical data model describes the data in as much detail as possible, without regard to how they will be physical implemented in the database. Features of a logical data model include:

  • Includes all entities and relationships among them.

  • All attributes for each entity are specified.

  • The primary key for each entity is specified.

  • Foreign keys (keys identifying the relationship between different entities) are specified.

  • Normalization occurs at this level.

The steps for designing the logical data model are as follows:

  1. Specify primary keys for all entities.

  2. Find the relationships between different entities.

  3. Find all attributes for each entity.

  4. Resolve many-to-many relationships.

  5. Normalization.

Physical data model


Physical data model represents how the model will be built in the database. A physical database model shows all table structures, including column name, column data type, column constraints, primary key, foreign key, and relationships between tables. Features of a physical data model include:


  • Specification all tables and columns.

  • Foreign keys are used to identify relationships between tables.

  • Denormalization may occur based on user requirements.

  • Physical considerations may cause the physical data model to be quite different
    from the logical data model.

  • Physical data model will be different for different RDBMS. For example, data type for a column may be different between MySQL and SQL Server.

The steps for physical data model design are as follows:



  1. Convert entities into tables.

  2. Convert relationships into foreign keys.

  3. Convert attributes into columns.

  4. Modify the physical data model based on physical constraints / requirements.

The figure below is an example of a physical data model.
Here we compare these three types of data models. The table below compares the different features:

FeatureConceptualLogicalPhysical
Entity Names 
Entity Relationships 
Attributes   
Primary Keys 
Foreign Keys 
Table Names   
Column Names   
Column Data Types   

Below we show the conceptual, logical, and physical versions of a single data model.