CREATE TABLE HotelStays
(
roomNum INTEGER NOT NULL,
arrDate DATE NOT NULL,
depDate DATE NOT NULL,
guestName CHAR(30) NOT NULL,
PRIMARY KEY (roomNum, arrDate)
);
问题:即使在现有客人退房之前,也可以为房间号码添加新条目(针对新客人):
答案 0 :(得分:-1)
如果客人必须在一天中的某个时间之前退房并在该时间之后办理入住手续,那么可以在另一天开始的同一天预订结束。这就是结账时间和签到时间的原因。
请参阅this question & its answers查询是否会检查预订是否存在冲突。即两个arrDate-to-depDate间隔是否不适当地重叠。即它们是否重叠超过一天。当您(尝试)添加新预订时,您可以查询触发器中的冲突。