Salve a tutti, devo modellare una gelateria con tavoli all'aperto e ordinazioni. I requisiti importanti sono: i tavoli sono disponibili in determinati turni, quindi a seconda del giorno e della fascia oraria. Il tavolo può assere disponibile o non disponibile in un turno e occupato o libero e prevede un'ordinazione.
Ora ho pensato di dividere in 3 entità in associazione tra loro: Turno (alla quale poi afferiranno anche i dipendenti), tavolo e ordine.
I miei dubbi riguardano proprio le cardinalità e la traduzione poi di queste entità.
Ho fatto questo ragionamento. Per identificare un determinato tavolo in un determinato giorno e in una determinata fascia oraria, ho reso debole il tavolo che non ha senso di esistere se non in alcune fasce (non mi interessa il tavolo fisico ma il tavolo virtuale in ogni fascia). Le cardinalità sono giuste tra Turno e Tavolo?
Poi ogni tavolo ha il suo ordine, ho pensato che anche l'ordine non ha senso di esistere se non con un tavolo che sia occupato. Quindi in questo caso, ha senso mettere ordine come debole e con un id come chiave? le cardinalità tra turno e tavolo?
Esiste un'associazione 1 a 1 con debolezza?
Il diagramma poi dopo ordine si divide in gelati e bibite, quindi ho pensato che per identificare bene un ordine servano il tavolo e il turno.
La traduzione sarebbe:
Turno(Giorno, Fascia)
Tavolo(Ntavolo, statoAssegnazione, Giorno, Fascia)
Ordine(ID, Ntavolo, Giorno, Fascia)
Quest'ultima traduzione mi rende perplesso perche potrei avere piu ordini per lo stesso tavolo.
Inoltre ho sempre la ripetizione degli stessi attributi in tutte le relazioni.
Se io togliessi la debolezza a ordine, come gestisco il fatto che un'ordinazione è collegata ad un solo tavolo? se l'identificativo primario di ordine è id?
Che ne pensate?