Esercizio 4 – Modello ER (from Esercizio 0)

La realtà che si vuole studiare è un sistema per la gestione delle ricette di cucina di un ristorante ordinabili dai clienti. Ogni ricetta è identificata da un numero univoco o dal titolo della ricetta ed è caratterizzata dal tempo di preparazione (espresso in minuti), dal numero di persone, dal prezzo e da una descrizione sulla preparazione. Ogni ricetta viene preparata da uno o più cuochi. Ogni cuoco è identificato da un nome, un cognome e una data di nascita, ed è caratterizzato dalla abitazione, dall’età, da due numeri telefonici ed eventualmente da una email. La preparazione di ogni ricetta è controllata da un cuoco che ricopre il ruolo di chef il quale fornisce una valutazione in decimi. La realizzazione di una ricetta richiede uno o più ingredienti. Ogni ingrediente è identificato da un nome ed è caratterizzato dalla dose (espressa in grammi) e dalle calorie. Ogni ricetta si riferisce ad un piatto. Ogni piatto è identificato da un tipo (per esempio, frutta, pesce, dolci, etc) ed è caratterizzato da una descrizione. Ogni piatto appartiene ad una portata. Ogni portata è identificata da un nome (per esempio, antipasto, primo, secondo, etc) ed è caratterizzato da una descrizione.

Il ristorante fornisce un servizio di prenotazione obbligatoria dei tavoli da parte dei suoi clienti. Ogni prenotazione è identificata dalla data e dall’ora (per le quali il cliente riserva il tavolo) e dal tavolo stesso riservato. Un tavolo è identificato da un numero univoco ed è caratterizzato dal numero di posti, dalla tipologia (per esempio, al coperto, in veranda, etc.) e da una descrizione. Si osservi che non possono esistere due prenotazioni distinte per lo stesso tavolo nella stessa data ed ora, e inoltre un cliente può prenotare più tavoli per la stessa ora. Ogni cliente che richiede una prenotazione è identificato in modo univoco dalla sua email ed è caratterizzato da un nominativo (nome e cognome), la città di provenienza, un recapito telefonico. Ad ogni prenotazione vengono associati una o più ricette e una o più bevande ordinate dai clienti. Anche ogni bevanda è identificata da un nome ed è caratterizzata dal prezzo e dal volume. Un cliente può essere standard o VIP. Ad ogni cliente VIP è assegnata una tessera punti identificata da un codice univoco ed è caratterizzata dal numero di punti accumulati. Il ristorante fornisce anche una serie di menu, ordinabili dai clienti, costituiti da più ricette.

Soluzione