Salute e malattia

Diagramma ER per sistema gestione farmacia: entità, relazioni e design database

Un diagramma Entity-Relationship (ER) modella la struttura dati per un sistema gestione farmacia. Qui sotto un design normalizzato catturando entità core e relazioni.

Entità Core

Farmaco

  • MedicineID (PK)
  • Nome
  • Descrizione
  • QuantitaInStock
  • PrezzoUnitario
  • DataScadenza
  • Produttore
  • Categoria (OTP, Prescrizione, Controllato)

Cliente

  • CustomerID (PK)
  • Nome, Cognome
  • Telefono
  • Email
  • Indirizzo
  • DataNascita (per farmaci age-restricted)
  • InfoAssicurazione (opzionale)

Dipendente

  • EmployeeID (PK)
  • Nome, Cognome
  • Ruolo (Farmacista, Tecnico, Cassiere, Manager)
  • NumeroLicenza (per farmacisti)
  • DataAssunzione
  • TurnoProgramma

Vendita (Transazione)

  • SaleID (PK)
  • CustomerID (FK)
  • EmployeeID (FK) - chi processato vendita
  • DataOraVendita
  • TotaleImporto
  • MetodoPagamento
  • PrescriptionID (FK, nullable)

SaleItem (Righe vendita)

  • SaleItemID (PK)
  • SaleID (FK)
  • MedicineID (FK)
  • Quantità
  • PrezzoUnitarioAlMomentoVendita
  • Subtotale

Prescrizione

  • PrescriptionID (PK)
  • CustomerID (FK)
  • PrescriberID (FK - medico esterno)
  • DataEmissione
  • DataEvasione
  • Stato (Attiva, Evasa, Scaduta, Annullata)
  • RicaricheRimanenti

Fornitore

  • SupplierID (PK)
  • Nome
  • InfoContatto
  • GiorniLeadTime

OrdineAcquisto

  • POID (PK)
  • SupplierID (FK)
  • EmployeeID (FK - chi ordinato)
  • DataOrdine
  • DataConsegnaPrevista
  • Stato

Relazioni Chiave

  • Cliente 1:M Vendita (Un cliente fa molte vendite)
  • Vendita 1:M SaleItem (Una vendita contiene multiple items)
  • Farmaco 1:M SaleItem (Un farmaco appare in molte righe vendita)
  • Dipendente 1:M Vendita (Un dipendente processa molte vendite)
  • Cliente 1:M Prescrizione (Un cliente ha molte prescrizioni)
  • Prescrizione 1:M Vendita (Una prescrizione può evadere su multiple vendite)
  • Fornitore 1:M OrdineAcquisto
  • OrdineAcquisto 1:M OrdineAcquistoItem (non mostrato, linka a Farmaco)

Note Design

  • Separare Vendita e SaleItem permette items variabili per transazione
  • Entità Prescrizione supporta tracking ricariche e compliance regolatorio
  • Considerare aggiunta InventoryAuditLog per tracking discrepanze stock
  • Indici su MedicineID, CustomerID, SaleDateTime ottimizzano query comuni