php - 如何在mysql数据库中管理酒店预订系统的库存表

标签 php mysql database database-design

enter image description here
您好,我正在开发酒店预订系统。管理员可以添加多个酒店并为每个酒店添加多个房间。
但现在我陷入了库存管理。每个房间都会有 3 种类型的库存

  1. 主库存:管理员可以在此处添加周日至周六特定类型房间(例如:套房)的可用房间数量。每天的可用房间数量都会有所不同。
  2. 定期库存:管理员可以在此处选择开始日期和结束日期以及这些日期之间的可用房间数量。
  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

我不知道我遵循的方法是否正确,也不知道如何管理每日库存。 截至目前,搜索酒店的空房情况确实很困难。
请建议我如何以更好的方式重新设计数据库。

最佳答案

这是你的答案:
enter image description here 该设计指出:

  1. 有很多酒店
  2. 每家酒店都有多种房型,例如套房、2 张床、3 张床等
  3. 每种房间类型都包含 isBooked 整数(即 0 或 1)的房间
  4. 最后是 Booking 表,存储特定酒店不同房间的数据

现在您可以进行查询,例如

  1. 酒店预订哪种类型的客房
  2. 已预订多少间客房
  3. 从该日期到该日期特定酒店预订了哪些客房
  4. 有多少房间是空的
  5. 酒店空置或预订了哪些类型的客房

诸如此类。你可以进行无数次查询,但这4张表足以满足你各方面的要求

更新:

  • 管理员表具有不同的管理员角色。每个管理员将管理一家酒店、其 room_type、房间和预订 更新2
    enter image description here

    更新3:
    enter image description here
  • 关于php - 如何在mysql数据库中管理酒店预订系统的库存表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34239452/

    相关文章:

    mysql - 是否可以将两个 MySQL 数据库合并为一个?

    mysql - 如何根据列表框按升序减去

    mysql - 如何内部连接存储函数的结果?

    php - 在 CakePHP 中,int 列作为字符串从 DB 中提取

    php - 从数字数组生成字符串范围(1-10、13、16、17-25.. 等)的算法

    mysql高级按查询排序

    mysql - 使用mysql查询删除表中的重复条目

    mysql - 自定义 nextval 函数内的 mysql bigint 变量声明错误

    php - 使用多个标记在 map 上绘制路线,CodeIgniter

    php - PDO::quote() 用于 SQL Server 错误引用包含 ASCII NUL 的字符串