【发布时间】:2019-06-25 05:13:24
【问题描述】:
我想开发一个类似于 OTA 网站的网站,例如(booking.com 和 agoda.com)。但是我在制作桌子时遇到了麻烦。酒店经营者也可以在特定日期关闭特定房间,所以我必须在某个地方有一个封闭的空地。我不确定我目前是否做得正确,因此我需要一些额外的大脑来帮助我更好地设计它。
我尝试在 Google 中搜索数据库设计,但它们不符合我的要求,其中大多数仅针对单一酒店结构并且只有固定价格,而我的价格基于日期。 PH 和周末价格可能会更高,酒店经营者可以更改。
我对我的桌子有什么想法:
hotel {
hotelID (INT) PK
hotelName (VARCHAR)
}
rooms {
roomID (INT) PK
roomType (VARCHAR)
}
我计划在可用性方面使用 INT(0 = 关闭 & 1 = 打开)
rates {
roomID (INT)
date (datetime)
price (double)
available (INT)
}
bookings {
bookingID (INT) PK
hotelID (INT)
roomID (INT)
checkInDate (datetime)
checkOutDate (datetime)
price (double)
}
【问题讨论】:
-
您的具体问题是什么?这个设计怎么不符合你的要求?
-
“帮助我更好地设计它”我在上面说过我试过谷歌搜索酒店数据库设计,但它们主要是针对每个日期固定价格的单一酒店。如果您希望价格在特定日期更高,则无法修改。因此,我展示了我的一个想法,当我尝试稍后对其进行编码时,我不知道逻辑上是否正确。但是下面的答案似乎真的很好,我喜欢它
标签: php database phpmyadmin