saveinmed/docs/DATABASE_SCHEMA.md

1.3 KiB

Database Schema

This document visualizes the SaveInMed database schema using Mermaid.

erDiagram
    %% Entities
    COMPANY {
        int id pk
        string name
        enum status "ACTIVE | INACTIVE | SUSPENDED"
        datetime createdAt
        datetime updatedAt
    }

    USER {
        int id pk
        string email uk
        string password
        string name
        enum role "USER | ADMIN"
        int companyId fk
        string refreshToken
        datetime createdAt
        datetime updatedAt
    }

    PRODUCT {
        int id pk
        string name
        string sku uk
        decimal price "10,2"
        datetime createdAt
        datetime updatedAt
    }

    INVENTORY_ITEM {
        int id pk
        int productId fk, uk
        int quantity
        datetime updatedAt
    }

    ORDER {
        int id pk
        int buyerId fk
        int productId fk
        int quantity
        decimal total "12,2"
        datetime createdAt
    }

    SYSTEM_SETTINGS {
        string key pk
        string value
        string category "default: GENERAL"
        boolean isSecure "default: false"
        datetime updatedAt
    }

    %% Relationships
    COMPANY ||--|{ USER : "has"
    USER ||--|{ ORDER : "places"
    PRODUCT ||--|| INVENTORY_ITEM : "has stock"
    PRODUCT ||--|{ ORDER : "included in"