我正在为会议室调度程序应用程序设计数据库。我们有可以合并的房间,以创建一个更大的房间。例如,房间A可以合并到房间B以容纳64个人。我已经附上了我的数据库设计,我无法弄清楚如何在后端容纳这个功能。数据库level。
而且,我希望我的数据库能够容纳可以合并的房间信息。 lkRooms表仅列出单个房间及其容量。有些房间可以与他们相邻的房间(roomA +房间B)合并,我也有四人房(RoomC + RoomD + RoomE + RoomF)。这些房间可以作为单人间使用,可以合并成一个大房间。我让我的数据库容纳这个吗?我希望应用程序从DB获取房间信息。如果我想说的话根本没有意义
我要做的是让booking
表参考一个中间表,让我们说bookingRoom
,由fk bookingRoomID
。然后bookingroom
记录将引用lkRoom
的RoomID
。对于“合并”的房间,bookingRoom
将为给定的bookingRoomID
提供多个记录。否则,对于单人房预订,bookingRoom
只会有一个记录。
我认为你需要一个允许房间合并的“分区”概念,所以不是存储最大的房间,而是存储最小的房间,人们可以预留一个分区来形成容量等于较小房间总和的较大房间。那你需要一个roomPartition关系。因此,如果有人想预订合并的房间,他们也会预订分区。