Mysql
 sql >> Database >  >> RDS >> Mysql

Disaccoppiamento dei dati MySQL rispetto alla facilità d'uso

Vorrei iniziare a rispondere a questo con una storia. (Un po' semplificato.)

01-01-2011 Prenoto una camera per due notti, 01-03-2011 e 02-03-2011. Non dirmi quale stanza prenderò. (Perché non sai ancora quale stanza prenderò.) Dimmi che costerà $ 40 a notte. Non ho coupon. Inserisci la mia prenotazione nel tuo computer, anche se sei già completamente prenotato per entrambe le notti. In effetti, hai già una persona in lista d'attesa per entrambe le notti. (L'overbooking è una cosa normale, non anormale.)

2011-01-15 Aumenti le tariffe per ogni camera di $ 5.

2011-02-01 Chiamo di nuovo per assicurarmi che tu abbia ancora la mia prenotazione. Confermi che ho una prenotazione per due notti, 01-03-2011 e 02-03-2011, a $40. (Non $ 45, la tua tariffa attuale. Non era il nostro affare. Il nostro affare era di $ 40 a notte.)

12-02-2011 Una persona chiama e annulla la prenotazione per il 01-03-2011 e il 02-03-2011. Non hai ancora una stanza in cui sai per certo in cui potrò fare il check-in. L'altra persona della lista d'attesa ora ha una stanza; Sono ancora in lista d'attesa.

15-02-2011 Una persona chiama e annulla la prenotazione per il 01-03-2011 e il 02-03-2011. Ora ho una stanza.

2011-03-01 Eseguo il check-in con un coupon.

  • Puoi memorizzare il prezzo "corrente" o "predefinito" per ogni camera, o per ogni classe di camere, ma devi memorizzare il prezzo che abbiamo concordato con la mia prenotazione.
  • Le prenotazioni non riservano le camere; prenotano potenziali stanze. Non sai chi partirà presto, chi partirà tardi, chi cancellerà e così via. (In base alla mia esperienza, di tanto in tanto una stanza viene sigillata con il nastro della scena del crimine. Non sai nemmeno quanto durerà.)
  • Puoi avere più prenotazioni che pernottamenti.
  • Presumibilmente i coupon possono apparire in qualsiasi momento prima del check-out.

Non credo. Il prezzo che hai concordato dovrebbe essere nella prenotazione stessa. Le stanze specifiche non possono essere assegnate in modo ragionevole fino all'ultimo minuto. Se è presente un coupon per prenotazione, potrebbe essere necessario memorizzarlo anche con la prenotazione.

L'unico problema relativo ai rapporti consiste nell'assicurarsi che i rapporti indichino chiaramente le entrate previste da ignorare a causa dell'overbooking.