# Atlas — схема БД ## Entities ### Hub ```sql CREATE TABLE hubs ( id UUID PRIMARY KEY, name VARCHAR(100) NOT NULL, country CHAR(2) NOT NULL, capacity_tpd INTEGER NOT NULL, created_at TIMESTAMPTZ DEFAULT now() ); ``` ### Shipment ```sql CREATE TABLE shipments ( id UUID PRIMARY KEY, origin_hub_id UUID REFERENCES hubs(id), dest_hub_id UUID REFERENCES hubs(id), weight_kg DECIMAL(10,2), status VARCHAR(20), eta TIMESTAMPTZ, created_at TIMESTAMPTZ DEFAULT now() ); ``` ### Event ```sql CREATE TABLE shipment_events ( id UUID PRIMARY KEY, shipment_id UUID REFERENCES shipments(id), event_type VARCHAR(50), location VARCHAR(100), occurred_at TIMESTAMPTZ ); ``` ## Relationships ``` Hub 1──* Shipment (origin) Hub 1──* Shipment (destination) Shipment 1──* ShipmentEvent ``` ## Indexes - `shipments(status, eta)` — для дашборда - `shipment_events(shipment_id, occurred_at)` — таймлайн - `hubs(country)` — фильтрация по региону