erDiagram
    CUSTOMER {
        int id PK
        string name
        string email
        string phone
    }
    ORDER {
        int id PK
        date order_date
        int customer_id FK
        float total_amount
    }
    ORDER_ITEM {
        int id PK
        int order_id FK
        int product_id FK
        int quantity
        float unit_price
    }
    PRODUCT {
        int id PK
        string name
        float price
        int category_id FK
    }
    CATEGORY {
        int id PK
        string name
        string description
    }
    SUPPLIER {
        int id PK
        string name
        string contact_email
    }
    PRODUCT_SUPPLIER {
        int product_id FK
        int supplier_id FK
    }

    %% Relationships
    CUSTOMER ||--o{ ORDER : "places"
    ORDER ||--|{ ORDER_ITEM : "contains"
    PRODUCT ||--o{ ORDER_ITEM : "is included in"
    CATEGORY ||--|{ PRODUCT : "includes"
    PRODUCT ||--o{ PRODUCT_SUPPLIER : "supplied by"
    SUPPLIER ||--o{ PRODUCT_SUPPLIER : "supplies"