sql >> Databáze >  >> RDS >> Mysql

Jak spravovat dostupnost pokojů na základě obsazenosti dnů nebo měsíců

Veďte si seznam rezervací pokojů, které mají počáteční datum a datum ukončení. Nesnažte se modelovat sloty dostupnosti nebo si představovat databázi rezervací jako tabulku. To vás jen přivede k nesmyslné složitosti. S časovými obdobími se snadno pracuje.

Nejdůležitější je vědět, jak ve vašich dotazech odhalit překrývající se období. To je základ pro testování, zda je pokoj již rezervován nebo zda je volný. Řekněme, že máte tabulku REZERVACE a chcete najít rezervace, které se překrývají v daném časovém období:@FromDate a @ToDate. Vaše klauzule WHERE pro hledání překrývajících se rezervací vypadá takto:

WHERE RESERVATION.start_date < @ToDate 
  AND RESERVATION.end_date > @FromDate

Dostupné místnosti nebudou mít konflikty (tj. KDE NENÍ V...) a nedostupné místnosti budou mít konflikt.




  1. Jak mohu počítat unikátní návštěvníky mých stránek?

  2. Plánovaná údržba databáze IS 24/7 na MS SQL Server

  3. Existuje typ časového razítka automatické úpravy pro sloupce Oracle?

  4. Vkládání dat pomocí mysqli