Skip to content

Logical vs. physical database design

Logical vs. Physical Database Design

Database design consists of two major stages: Logical Design and Physical Design. Each stage serves a different purpose in structuring data for efficiency and maintainability.


1. Logical Database Design

Logical design focuses on what data should be stored and how data elements relate without considering the physical storage details.

Key Features

Platform-independent: Doesn't depend on a specific database system (MySQL, PostgreSQL, etc.).
Conceptual modeling: Uses Entity-Relationship (ER) models to define entities, attributes, and relationships.
Normalization: Eliminates redundancy and ensures data integrity.

Example of Logical Design (ER Model)

Entities:
- Customer (id, name, email)
- Order (id, order_date, customer_id)

Relationships:
- One Customer can place many Orders (1:M).

Logical schema:

Customer (customer_id PK, name, email)  
Order (order_id PK, order_date, customer_id FK)  


2. Physical Database Design

Physical design focuses on how data is stored and accessed in a specific database management system (DBMS).

Key Features

Platform-dependent: Optimized for a specific DBMS (e.g., indexing in MySQL differs from PostgreSQL).
Storage considerations: Defines file structures, indexing, and partitioning.
Performance tuning: Optimizes queries, caching, and disk I/O.

Example of Physical Design (SQL Implementation)

Using MySQL:

CREATE TABLE Customer (
    customer_id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL
);

CREATE TABLE Order (
    order_id INT PRIMARY KEY AUTO_INCREMENT,
    order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    customer_id INT,
    FOREIGN KEY (customer_id) REFERENCES Customer(customer_id) ON DELETE CASCADE
);
Additional physical optimizations:
- Indexes: CREATE INDEX idx_customer_email ON Customer(email);
- Partitioning: Splitting large tables across storage units.


3. Key Differences

Feature Logical Design Physical Design
Focus Data relationships & constraints Storage, performance, indexing
Platform Dependence DBMS-independent DBMS-specific
Representation ER Diagrams, Normalized Tables SQL schema, tables, indexes
Optimization Eliminates redundancy, ensures consistency Query optimization, partitioning, caching
Implementation Conceptual structure Actual database creation

4. When to Use Each

  • Logical Design: Used during early development to define data structure & integrity.
  • Physical Design: Used when implementing the database in a specific DBMS with performance considerations.