SQL /数据库:将数组存储在表的列中

时间:2013-04-21 14:41:30

标签: java sql

是否存在如何在sql表的列中存储某些内容的数组/列表的规范方法?我正在尝试执行以下操作:我有“Building”和“Room”对象,而Building对象则设置为字段。这样的关系(建筑有很多房间)如何用SQL来描述?

我是数据库设计的新手,所以,请不要生气,如果它太琐碎了。

P.S。如果有人可以解释“很多公共汽车司机使用大量公共汽车”的关系,那将会很棒。反之亦然。

2 个答案:

答案 0 :(得分:3)

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

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)

此联接表的主键是成对[driver_id, bus_id]

答案 1 :(得分:2)

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

参考:SQL for Beginners: Part 3 – Database Relationships

数据库关系

  • 一对一的关系
  • 一对多
  • 多对一关系
  • 多对多的关系
  • 自我引用关系