我遇到了这种情况:一套必须处理预订的酒店。每个客户都可以选择指定酒店的房间,从日期START_DATE
到日期END_DATE
。
我想查看表格BOOKING
是否可以预订START_DATE
到END_DATE
,因为此处没有其他预订期。
这是代码:
CREATE TABLE HOTEL(
Name varchar(30) PRIMARY KEY,
City varchar(30)
);
CREATE TABLE ROOM(
HotelName varchar(30) REFERENCES HOTEL (Name),
RoomNumber int(11),
PRIMARY KEY(HotelName , RoomNumber )
);
CREATE TABLE CLIENT(
ClientCode char(16) PRIMARY KEY
);
CREATE TABLE BOOKING(
HotelName varchar(30)
RoomNumber int(11),
ClientCode char(16) REFERENCES CLIENT(ClientCode ),
StartDate date,
EndDate date,
PRIMARY KEY(HotelName , NumeroStanza, CodiceCliente, StartDate, EndDate),
FOREIGN KEY (HotelName , RoomNumber ) REFERENCES ROOM(HotelName , RoomNumber ),
CHECK (????)
);
我该怎么说:检查是否给定START_DATE
< END_DATE
,然后START_DATE
不在A
和B
之间,然后END_DATE
不在A
和B
之间,表格中已有A
和B
日期?
dialet是MySql
非常感谢