Abbiamo seguito una strategia mista individuando delle entità direttamente dalle specifiche (secondo il metodo "bottom-up") e costruendo uno schema scheletro da affinare successivamente (seguendo il metodo "top-down")
Seguendo la strategia bottom-up sono state identificate le seguenti entità: fornitori, rotoli di tetrapak, prodotti non confezionati, macchine, macchine guaste, macchine di riserva, serbatoi asettici, prodotti confezionati, ordini, clienti.
Le entità considerate precedentemente si suddividono in tre gruppi principali: fornitori, azienda confezionatrice, clienti.

Dove fornitura è l'atto di acquisto di prodotti non confezionati e rotoli di tetrapak effettuato dall'azienda confezionatrice, mentre vendita è l'atto di vendita di prodotti confezionati diretto ai clienti.
Fornitori:

L'entità Fornitori è una generalizzazione delle due entità Fornitori di prodotti non confezionati e Fornitori di rotoli di tetrapak. Esse hanno entrambi gli stessi attributi: il codice (che rappresenta l'identificatore primario), il nome, il telefono, il fax, l'e-mail e l'indirizzo (rappresentato da un attributo composto). Sono presenti inoltre, le entità Prodotti non confezionati e Rotoli di tetrapak, entrambi sono identificati dall'attributo codice. I prodotti non confezionati e i rotoli di tetrapak hanno sempre uno e un solo fornitore. Mentre i fornitori possono non aver mai fornito prodotti non confezionati o rotoli di tetrapak, oppure averne fornito una o più volte. Questo concetto è rappresentato dalle due relazioni uno a molti Fornitura di prodotti non confezionati e Fornitura di rotoli di tetrapak.
Azienda confezionatrice:

L'entità Azienda è una generalizzazione delle entità Magazzino, Macchine e Serbatoio Asettico. Il magazzino è rappresentato, tramite una generalizzazione, da Rotoli di tetrapak in magazzino e Prodotti non confezionati in magazzino. I prodotti in magazzino sono identificati dal loro tipo, per questo sono legati alle entità Rotoli di tetrapak e Prodotti non confezionati con relazioni di tipo uno a molti (Immagazzinamento rotoli di tetrapak e Immagazzinamento prodotti non confezionati). Il confezionamento di prodotti avviene assegnando ad una macchina un prodotto non confezionato e un rotolo di tetrapak, presenti in magazzino. Il concetto è espresso dalla relazione molti a molti Confezionamento Prodotti. L'entità Macchine è suddivisa, per mezzo di una generalizzazione totale ed escusiva, nei sottoinsiemi Macchine guaste, Macchine in produzione e Macchine di riserva. Ogni macchina appartiene ad uno ed un solo gruppo (concetto espresso dalla relazione uno a molti Assegnamento ad un gruppo). Ad ogni Gruppo di macchine è associato un Serbatoio asettico, ma alcuni serbatoi possono rimanere inutilizzati; tale concetto è rappresentato dalla relazione uno ad uno Collegamento al serbatoio. Ogni Gruppo di macchine ha una ed una sola macchina di riserva, come risulta dalla relazione uno ad uno Assegnamento macchina di riserva. La relazione Produzione, che è di tipo uno a molti, permette di associare i Prodotti confezionati alle macchine che hanno effettuato il confezionamento.
Clienti:

L'entità Ordine rappresenta la richiesta di prodotti confezionati effettuata da parte di un cliente. Ogni oggetto dell'entità Ordine è legato ad un oggetto dell'entità Prodotto confezionato mediante la relazione uno ad uno Produzione prodotto ordinato, che rappresenta il confezionamento del prodotto richiesto. Il prodotto confezionato è venduto al cliente che lo ha richiesto, come è rappresentato dalla relazione uno a molti Vendita prodotto confezionato.
(per semplicità si omettono gli attributi):

| Nome entità | Descrizione | Attributi | Identificatore |
| Fornitore | Società che tratta la vendita dei prodotti non confezionati o di rotoli di tetrapak | Nome (stringa) Telefono (numerico) Città (stringa) CAP (numerico) Via (stringa) N° Civico (stringa) Fax (numerico) E-mail (stringa) |
Codice (numerico) |
| Fornitori di prodotti non confezionati | Società che tratta la vendita di prodotti non confezionati | Nome (stringa) Telefono (numerico) Città (stringa) CAP (numerico) Via (stringa) N° Civico (stringa) Fax (numerico) E-mail (stringa) |
Codice (numerico) |
| Fornitori di rotoli di tetrapak | Società che tratta la vendita di rotoli di tetrapak | Nome (stringa) Telefono (numerico) Città (stringa) CAP (numerico) Via (stringa) N° Civico (stringa) Fax (numerico) E-mail (stringa) |
Codice (numerico) |
| Prodotti non confezionati | Oggetti quali latte, panna, succhi di frutta, che vengono acquistati dall'azienda confezionatrice | Tipo di prodotto (stringa) Quantità (numerico) |
Codice (numerico) |
| Prodotti non confezionati in magazzino | Oggetti quali latte, panna, succhi di frutta, acquistati dall'azienda confezionatrice e presenti nel magazzino | Tipo di prodotto (stringa) Quantità (numerico) |
Codice (numerico) |
| Rotoli di tetrapak | Oggetti di acquisto utilizzati per il confezionamento dei prodotti non confezionati | Tipo di rotolo (stringa) Lunghezza (numerico) |
Codice (numerico) |
| Rotoli di tetrapak in magazzino | Rotoli di tetrapak acquistati presenti nel magazzino | Tipo di rotolo (stringa) Lunghezza (numerico) |
Codice (numerico) |
| Cliente | Società che richiede prodotti confezionati | Nome (stringa) Telefono (numerico) Città (stringa) CAP (numerico) Via (stringa) N° Civico (stringa) Fax (numerico) E-mail (stringa) |
Codice (numerico) |
| Ordine | Richiesta di prodotti confezionati effettuata dai clienti | Data di consegna (data) | Codice (numerico) |
| Prodotti confezionati | Oggetti in vendita definiti in base all'ordine | - | esterno: con l'entità Ordine |
| Macchine | Macchinari industriali adibiti al confezionamento dei prodotti non confezionati utilizzando i rotoli di tetrapak | - | Nome (stringa) |
| Macchine guaste | Macchinari industriali non funzionati per il confezionamento dei prodotti non confezionati | - | Nome (stringa) |
| Macchine in produzione | Macchinari industriali funzionanti adibiti al confezionamento dei prodotti non confezionati utilizzando i rotoli di tetrapak | - | Nome (stringa) |
| Macchine di riserva | Macchinari industriali per il confezionamento che entrano in funzione solo nel caso in cui vi sia una macchina guasta all'interno dello stesso gruppo | - | Nome (stringa) |
| Gruppo di macchine | Raggruppamento concettuale di un insieme di macchine in produzione e di una e una sola macchina di riserva | Rotolo utilizzabile (stringa) Prodotto confezionabile (stringa) |
Numero(numerico) |
| Serbatoio asettico | Serbatoio asettico che entra in funzione insieme alla macchina di riserva | Prodotto contenibile (stringa) | Nome (stringa) |
| Magazzino | Insieme dei prodotti non confezionati e dei rotoli che sono pronti a essere utilizzati dalle macchine | - | - |
| Azienda | Azienda che si occupa di confezionare i prodotti. | - | - |
Relazioni:
| Nome relazione | Descrizione | Entità coinvolte | Attributi |
| Fornitura di prodotti non confezionati | Associa i prodotti non confezionati al fornitore che li ha forniti | Fornitori di prodotti non confezionati (0,N) Prodotti non confezionati (1,1) |
Data (data) Spesa (numerico) |
| Fornitura di rotoli di tetrapak | Associa i rotoli di tetrapak al fornitore che li ha forniti | Fornitori di rotoli di tetrapak (0,N), Rotoli di tetrapak (1,1) |
Data (data) Spesa (numerico) |
| Richiesta di prodotti confezionati | Associa l'ordine al cliente che l'ha effettuato | Clienti (0,N) Ordine (1,1) |
Data (data) |
| Vendita prodotto confezionato | Associa il prodotto confezionato al cliente che l'ha richiesto | Clienti (0,N) Prodotto confezionato (1,1) |
Data (data) Ricavo (numerico) |
| Produzione prodotto ordinato | Associa a ogni ordine il prodotto confezionato corrispondente | Ordine (1,1) Prodotto confezionato (1,1) |
Tipo di prodotto (stringa) Quantità (numerico) Capacità (numerico) Tipo di confezione (stringa) |
| Immagazzinamento rotoli di tetrapak | Associa il rotolo di tetrapak con il corrispondente oggetto presente in magazzino | Rotoli di tetrapak in magazzino (1,N) Rotoli di tetrapak (0,1) |
- |
| Immagazzinamento di prodotti non confezionati | Associa i prodotti non confezionati con il corrispondente oggetto presente in magazzino | Prodotti non confezionati in magazzino (1,N) Prodotti non confezionati (0,1) |
- |
| Produzione | Associa i prodotti confezionati con le macchine in produzione adibite al confezionamento | Prodotti confezionati (1,1) Macchine (0,N) |
Lunghezza rotolo utilizzato (numerico) |
| Confezionamento prodotto | Associa i prodotti non confezionati ed i rotoli di tetrapak presenti in magazzino con ogni macchina per permetterne il confezionamento | Prodotti non confezionati in magazzino (0,N) Rotoli di tetrapak in magazzino (0,N) Macchine (0,N) |
- |
| Assegnamento macchina di riserva | Associa una macchina di riserva ad ogni gruppo di macchine | Gruppo di macchine (1,1) Macchine di riserva (1,1) |
- |
| Collegamento al serbatoio | Associa ogni serbatoio asettico ad un gruppo di macchine | Serbatoio asettico (0,1) Gruppo di macchine (1,1) |
- |
| Assegnamento ad un gruppo | Associa ad ogni macchina un gruppo | Macchine (1,1) Gruppo di macchine (1,N) |
- |
| Regole di vincolo | |
| RV1 | Una macchina di riserva non può mai diventare una macchina guasta |
| RV2 | La lunghezza di un rotolo di tetrapak acquistato deve essere > 0 |
| RV3 | La quantità di un prodotto non confezionato acquistato deve essere > 0 |
| RV4 | La lunghezza di un rotolo di tetrapak in magazzino deve essere >= 0 |
| RV5 | La quantità di un prodotto non confezionato in magazzino deve essere >= 0 |
| RV6 | La capacità di un prodotto confezionato deve essere > 0 |
| RV7 | La quantità di un prodotto confezionato deve essere > 0 |
| RV8 | La lunghezza di un rotolo di tetrapak utilizzato per confezionare deve essere > 0 |
| RV9 | La spesa per l'acquisto di un rotolo di tetrapak deve essere >= 0 |
| RV10 | La spesa per l'acquisto di un prodotto non confezionato deve essere >= 0 |
| RV11 | Il ricavo di una vendita di prodotti confezionati deve essere >= 0 |
| RV12 | Una macchina guasta non può produrre |
| RV13 | Una macchina di riserva può produrre solo se esiste una macchina guasta nel suo stesso gruppo |
| Regole di derivazione | |
| RD1 | La lunghezza dei "rotoli di tetrapak in magazzino" di uno stesso tipo si ottiene dalla differenza tra la somma delle lunghezze dei rotoli di quel tipo acquistati e la somma dei rotoli di quel tipo utilizzati per il confezionamento |
| RD2 | La lunghezza dei "prodotti non confezionati in magazzino" si ottiene dalla differenza tra la somma delle lunghezze dei prodotti non confezionati acquistati e quella dei prodotti confezionati |
[Indice] - [Analisi dei requisiti] - [Progettazione logica] - [Codifica SQL] - [Testing]