da niubbo farei un approccio diverso (... letto su un libro per un esempio di aeroporto eheeheheh...)
suddividerei il tempo poniamo in slot da un'ora.
Metterei dei flag tipo 1 dove gli slot sono occupati.
A quel punto puoi vedere l'occupazione dei tavoli sommando i flag
(nell'esempio faceva una roba strana con due tabelle intermedie per poterli contare da SQL)
In pratica qualcosa del tipo
tavoli
codicetavolo
...
slot
codicetavolo
giorno
numeroslot
occupato
in sostanza facendo la SUM di occupato raggruppato per codicetavolo (in un certo giorno) vedi quante ore son piene.
Se il ristorante sta aperto poniamo 6 ore e il totale è 6 ... e così via.
Probabilmente per un ristorante mezz'ora è meglio (la gente immagino prenoti alle 12:00, o alle 12:30, difficilmente alle 12:45)
EDIT: non so se questo approccio va bene per un ristorante, nell'aeroporto i voli erano contingentati in termini temporali ben precisi (tipo ogni 15 minuti), mentre per un ristorante non credo si possa stabilire a priori, con esattezza, quanto durerà il pranzo (cosa fatta notare prima).
Comunque da studentello questo è il mio contributo![]()

Rispondi quotando