MYSQL:包含几个可能的父表之一的表


MYSQL: Table with one of several possible parents

我将尽可能地保持这个范围,因为我不想对答案产生偏见。

我有三张表。校园、建筑和房间。

有些校园有很多建筑,而这些建筑有很多房间:校园->建筑->房间

一些校园是一个单独的建筑,我希望这种关系是:校园->房间(不涉及建筑)。

换句话说,有些校园有大楼,有些校园有房间。所有的建筑都有房间。有些房间属于一个校园,有些房间属于一个大楼。

在MySQL中建模的最好方法是什么?还是总的来说?

我可以根据需要提供更多关于数据库结构的信息

处理这个问题的最好方法是坚持你的表述:

  • 校园由建筑物组成
  • 建筑由房间组成

一些校园有多栋建筑。有些校园只有一栋建筑。没有问题。事实上,对于只有一栋楼的校园来说,大楼的名字可能真的和校园的名字非常非常相似。

所有的校园都有房间,这些房间可以通过看校园里的建筑进入。

使用主键和外键引用的数据模型的其余部分遵循这个简化。