您好,我正在开发酒店预订系统。管理员可以添加多个酒店并为每个酒店添加多个房间。
但现在我陷入了库存管理。每个房间都会有 3 种类型的库存
- 主库存:管理员可以在此处添加周日至周六特定类型房间(例如:套房)的可用房间数量。每天的可用房间数量都会有所不同。
- 定期库存:管理员可以在此处选择开始日期和结束日期以及这些日期之间的可用房间数量。
- 每日库存:管理员可以在此处选择日期以及该特定日期的可用房间数量。
库存选择的优先顺序为 3 -> 2 -> 1。
IE。当用户在网站中选择日期并搜索酒店时。首先检查每日库存,如果找到每日库存,并且其与用户需求匹配,则将继续进行。
否则,如果没有每日库存,则将检查定期库存,如果未找到定期库存,则将检查主库存。
每个房间都会有一个主库存,但定期和每日库存是可选的。在主库存中,您可以提供周日至周六的可用房间,即。每周 7 天。定期库存也是如此。
现在我正在尝试像这样实现它
房间表
ID integer
HOTEL_ID integer
ROOM_NAME varchar
INV_SUN integer
INV_MON integer
INV_TUE integer
.
.
INV_SAT integer
PERIODIC_STAR_DATE Date
PERIODIC_END_DATE Date
PERIODIC_SUN integer
PERIODIC_MON integer
.
.
PERIODIC_SAT integer
我不知道我遵循的方法是否正确,也不知道如何管理每日库存。
截至目前,搜索酒店的空房情况确实很困难。
请建议我如何以更好的方式重新设计数据库。
最佳答案
- 有很多酒店
- 每家酒店都有多种房型,例如套房、2 张床、3 张床等
- 每种房间类型都包含 isBooked 整数(即 0 或 1)的房间
- 最后是 Booking 表,存储特定酒店不同房间的数据
现在您可以进行查询,例如
- 酒店预订哪种类型的客房
- 已预订多少间客房
- 从该日期到该日期特定酒店预订了哪些客房
- 有多少房间是空的
- 酒店空置或预订了哪些类型的客房
诸如此类。你可以进行无数次查询,但这4张表足以满足你各方面的要求
更新:
关于php - 如何在mysql数据库中管理酒店预订系统的库存表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34239452/