有没有一种规范的方法可以在 sql 表的列中存储一些东西的数组/列表?我正在尝试执行以下操作:我有“Building”和“Room”对象,而 Building 对象已设置为它的字段。这种关系(建筑物有很多房间)如何用 SQL 来描述?
我是数据库设计的新手,所以,如果它太微不足道,请不要生气。
ps 另外,如果有人能解释“很多公交车司机使用很多公交车”的关系如何,反之亦然。
对于您的第一个关联(一个建筑物有很多房间),您通常会使用两个表(建筑物和房间)对此进行建模,其中子表(房间)将具有父表(建筑物)的外键
building
id (PK), name, location
room
id(PK), building_id (FK referencing building.id), room_number
对于第二个关联,它是多对多关联,您需要在总线和驱动程序之间建立一个连接表:
bus
id (PK), plate_number, color
driver
id (PK), first_name, last_name
driver_drives_bus
driver_id (FK referencing driver.id), bus_id (FK referencing bus.id)
这个连接表的主键是 couple [driver_id, bus_id]
。