我在酒店预订中有两张桌子,我无法定义他们的caridnality限制。
一个实体会议室,第二个预订
我认为这是多对一的。因为很多房间只能预订一次。但是一个房间只能预订一次。或者是多少人的关系?
答案 0 :(得分:1)
由于需要使用特定时间范围创建reservation
,因此可以将一个房间链接到不同时间的多个预订。所以,这是一个多对多的关系。
假设您在1月份预订了1号房间,并在3月份再次预订了同一间客房。然后你需要三张桌子,一张用于房间,一张用于预订,第三张用于关系室预订。
在以下示例中,房间1具有id 1290 ,其在房间和预订之间的关系表中重复。此外,3月份的预订ID 2056 会在该表中重复,因为它有两个房间。
t_rooms
-----------------------------
room_id | room number | ...
-----------------------------
1290 | 1 | ...
1291 | 2 | ...
t_reservations
---------------------------------------------
reservation_id | reservation time frame | ...
---------------------------------------------
2055 | in January | ...
2056 | in March | ...
t_rooms_reservations
------------------------
room_id | reservation_id
------------------------
1290 | 2055
1290 | 2056
1291 | 2056
希望这会有所帮助。 :)
<强>更新强>
最好检查一下https://en.wikipedia.org/wiki/Database_normalization,以便完全了解如何使数据库设计保持无冗余或最小冗余。