我正在使用在线酒店客房预订概念
室(表)
roomId name Price Totalrooms
1 A 100 10
2 B 150 20
我如何构建数据库以允许用户搜索房间的可用性(具有来自和迄今为止)?另外,存储预订的最佳表格结构是什么?
答案 0 :(得分:3)
您需要另一张预订
的表格 ID roomId checkInDate checkOutDate
1 1 4/6/2011 12:00PM 4/9/2011 11:00AM
2 2 4/2/2011 12:00PM 4/3/2011 11:00AM
3 1 4/9/2011 12:00PM 4/11/2011 11:00AM
然后,当您为每个房间添加新预订时,您需要确保zero 0
中的以下查询结果,否则房间已经预订。
//Count Scheduling Conflicts
select count(roomid) from bookings where
bookings.checkOutDate > YouNewBookingCheckInDate and
bookings.checkInDate < YouNewBookingCheckOutDate
因此,如果您对房间1的新预订请求在4/5/2011 1:00PM
,则记录#1将被计算,查询将导致1(表示1冲突)