Sto avviando un nuovo progetto su cui sto creando un sistema di prenotazione come applicazione web PHP / MySQL.
Le funzionalità di base dovrebbero essere:
admin può aggiungere appuntamenti predefiniti (diversi giorni pro day)
utenti possono partecipare agli appuntamenti (con un set di admin max ).
Attualmente sto cercando di capire come creare la struttura del database.
Stavo pensando di creare due database del calendario:
default_calendar
- description
- day_of_week
- time_start
- time_end
- spots
extra_calendar
- description
- date_start
- date_end
- time_start
- time_end
- spots
- status (1: available | 0: not available)
Questo è abbastanza semplice e fattibile.
La mia sfida è registrare gli appuntamenti.
Due soluzioni sono state pensate:
Una tabella
Crea una tabella con le prenotazioni:
reservations
- id
- name
- date
- time_start
- time_end
- status (1: paid | 0: not paid)
O due tabelle
Uno per l'evento
Uno per le prenotazioni
event
- event_id
- date
- time_start
- time_end
- number_attending
reservation
- res_id
- event_id
- name
- status (1: paid | 0: not paid)
Il vantaggio della prima soluzione è che è necessaria solo una tabella. Inoltre, quando le prenotazioni vengono annullate, è più semplice da elaborare
Il vantaggio della soluzione due è che la gestione delle query è più semplice, mentre per ogni evento esiste un singolo record del database.
Che cosa suggerisci o hai un'idea ancora migliore?