酒店和客房之间的多对多关系

iyr7buue  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(590)

我想知道是否有可能在酒店和客房之间建立一种多对多的关系。旅馆有许多房间,但一个房间不属于许多旅馆。我对数据库不熟悉,搞不懂。

eivgtgni

eivgtgni1#

多对多关系是通过一个表在两个要相互关联的主表之间完成的。一张酒店的table,一张房间的table,在它们之间有一张table,叫做hotelroom(虽然不是一个完美的名字)。
连接表hotelroom对其连接的表(在本例中为hotelid和roomid)的每个主键都有字段。
因此,现在当您希望一个房间与多个不同的酒店相关时(或者您会得出结论,这不是您想要的),您将房间的主键和酒店的主键存储在hotelroom表中。
然后,当您希望另一个酒店与另一个酒店所关联的确切房间相关时,您可以在hotelroom表中存储另一行,该行具有该房间的相同主键以及其他酒店主键。
这可能是你想要的,但我怀疑这不是你想要的。我可以看到的一个场景是,如果您希望这是历史数据,说明在不同时期,哪些酒店拥有这个特定房间(虽然有些牵强,但无论如何)。
如果你只是想让酒店的客人感到惊讶和恼火,那么这也是一个有趣的应用程序

相关问题