0

有没有一种规范的方法可以在 sql 表的列中存储一些东西的数组/列表?我正在尝试执行以下操作:我有“Building”和“Room”对象,而 Building 对象已设置为它的字段。这种关系(建筑物有很多房间)如何用 SQL 来描述?

我是数据库设计的新手,所以,如果它太微不足道,请不要生气。

ps 另外,如果有人能解释“很多公交车司机使用很多公交车”的关系如何,反之亦然。

4

2 回答 2

4

对于您的第一个关联(一个建筑物有很多房间),您通常会使用两个表(建筑物和房间)对此进行建模,其中子表(房间)将具有父表(建筑物)的外键

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]

于 2013-04-21T14:53:58.747 回答
3

我认为你应该考虑阅读这篇文章。

请参阅:SQL 初学者:第 3 部分 - 数据库关系

数据库关系

  • 一对一关系
  • 一对多
  • 多对一关系
  • 多对多关系
  • 自引用关系
于 2013-04-21T14:59:21.103 回答