数据库设计:我需要数据库中的实体与自身相关,但也需要独立

时间:2017-03-21 09:10:22

标签: sql database database-design relational-database

如果问题的标题不清楚,我很抱歉。我将尝试解释如下:

所以我正在尝试为Campus Housing App设计一个数据库。客房可以是单人间或公寓。公寓基本上是2个独立的单人间,有序号。编号为2135和2137的意义室是两间形成公寓的单人间。而2149房间只是一个单间。

My Room实体表包含以下字段:

Rooms Entity

我应该添加一个布尔字段IsApartment吗?但是,我怎样才能跟踪哪个房间连接到组成公寓的另一个房间?

2 个答案:

答案 0 :(得分:1)

您可以拥有2张不同的桌子 - 一张用于单人间,另一张用于公寓。公寓需要2列(对于2个单人间),它们将作为复合主键,可以唯一地识别公寓。您还可以定义从公寓到单人房的外键,以确保公寓房绝对是单人房。

答案 1 :(得分:1)

为什么不添加另一个表“linkedroom”与字段 roomID (加入您的房间ID)和 linkedroomroom

这样,如果第一个房间是公寓,您将获得有关第二个房间的信息,如果不是,则为零。