Data models

What is Data Modeling?

Data modeling is the process of creating a visual representation of a system’s data and its relationships. It serves as a blueprint for how data is stored, accessed, and structured in a database or application, ensuring consistency, efficiency, and clarity in data management.


Example of Data Modeling


Consider an e-commerce system:

• Entities: Customers, Orders, Products.

• Attributes:

• Customer: ID, Name, Email.

• Order: Order ID, Order Date, Total Amount.

• Product: Product ID, Name, Price.

• Relationships:

• A Customer places multiple Orders.

• An Order contains multiple Products.


This information would be represented visually as a data model, showing how these entities connect.


Types of Data Modeling


There are three primary types of data modeling, each with specific use cases:


1. Conceptual Data Modeling

• Purpose: High-level overview of the system. Focuses on what data is stored, not how.

• Audience: Business stakeholders.

• Example:

• Entities: Customer, Product, Order.

• Relationships:

• A Customer can place multiple Orders.

• An Order includes multiple Products.


Diagram Example:


Customer ─── places ───> Order

Order ─── includes ───> Product


2. Logical Data Modeling

• Purpose: Defines the structure of the data in detail, including attributes and relationships, but without database-specific implementation details.

• Audience: Data architects and analysts.

• Example (for the e-commerce system):

• Entity: Customer

• Attributes: CustomerID (PK), Name, Email.

• Entity: Order

• Attributes: OrderID (PK), OrderDate, CustomerID (FK).

• Entity: Product

• Attributes: ProductID (PK), Name, Price.


Diagram Example (ERD - Entity Relationship Diagram):


Customer (CustomerID, Name, Email)

   |

   └───<places>───┐

          |

        Order (OrderID, OrderDate, CustomerID)

          |

          └───<includes>───>

              Product (ProductID, Name, Price)


3. Physical Data Modeling

• Purpose: Implementation-specific; focuses on how the data will be physically stored in a database.

• Audience: Database administrators and developers.

• Example (for a relational database):

• Table: Customer

• Columns: CustomerID (Primary Key), Name (VARCHAR), Email (VARCHAR).

• Table: Order

• Columns: OrderID (Primary Key), OrderDate (DATE), CustomerID (Foreign Key).

• Table: Product

• Columns: ProductID (Primary Key), Name (VARCHAR), Price (DECIMAL).


Diagram Example (SQL Schema):


CREATE TABLE Customer (

  CustomerID INT PRIMARY KEY,

  Name VARCHAR(50),

  Email VARCHAR(100)

);


CREATE TABLE Order (

  OrderID INT PRIMARY KEY,

  OrderDate DATE,

  CustomerID INT,

  FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID)

);


CREATE TABLE Product (

  ProductID INT PRIMARY KEY,

  Name VARCHAR(50),

  Price DECIMAL(10, 2)

);


Summary of Types


Type Focus Audience Example

Conceptual High-level entities and relationships Business stakeholders Customer places Orders with Products

Logical Attributes, relationships, no tech details Data architects/analysts ERD with attributes (CustomerID, etc.)

Physical Database implementation details DBAs/developers SQL tables and constraints





From Blogger iPhone client