在街道部分和汽车扫描之间创建一对多关系?

Creating one-many relationship between street sections and car scans?

我有两个表,需要在它们之间创建一对多关系。 tlbsection 将一系列街道部分表示为城市中的线。每个街道部分都有自己的 ID。 tlbscans 代表对街段进行街道扫描,计算其上的汽车。我需要将 tlbscans 与 tlbsection 作为街道部分关联起来,并且可以进行多次扫描。使用下面的示例数据执行此操作的好方法是什么?

tlbsections 编号(PK) |地理 |节 |

1 | xy | 5713 |

2 | xy | 5717 |

tlbscans 节|一个 | b |

5713 | 30 | 19 |

5717 | 2 | 1 |

压倒性的问题:section 列在 tlbsections 中是否唯一。如果是,则在其上创建一个 unique constraint。然后在 table `tblscans' 引用中的列 section 上创建一个 FK。假设 table 已经存在:

alter table tlbsections 
      add constraint section_uk
          unique section; 

alter table tblscans
      add constraint scans_section_fk 
          foreign key (section) 
          references tlbsections(section);

   

如果 tlbsections 中唯一的列 section 不是唯一的,那么您 不能 建立当前定义的关系。没有更多细节,我建议您添加一个包含 tlbsections.id 的列,在新列上创建一个 FK,然后删除列 section tblscans.

alter table tblscans
      add tlbsections_id <data type>; 
   
alter table tblscans
      add constraint sections_fk 
          foreign key (tlbsections_id) 
          references tlbsections(id);

alter table tblscans
      drop column  section;
        

可能还有其他选项,但提供的内容并不明显。