我有兩個表,需要在它們之間創建一對多的關系。tlbsection 將一系列街道部分表示為城市中的線。每個街道部分都有自己的 ID。tlbscans 表示街道部分的街??道掃描,計算其上的汽車。我需要將 tlbscans 與 tlbsection 作為街道部分相關聯,并且可以進行多次掃描。使用下面的示例資料有什么好的方法?
tlbsections ID(PK) | 幾何 | 部分 |
1 | xy | 5713 |
2 | xy | 5717 |
tlbscans 部分 | 一個 | 乙 |
5713 | 30 | 19 |
5717 | 2 | 1 |
uj5u.com熱心網友回復:
壓倒性的問題:該列section在tlbsections. 如果是,則在其上創建唯一約束。section然后在表“tblscans”參考的列上創建一個 FK 。假設表已經存在:
alter table tlbsections
add constraint section_uk
unique section;
alter table tblscans
add constraint scans_section_fk
foreign key (section)
references tlbsections(section);
如果section唯一的列tlbsections不是唯一的,那么您無法建立當前定義的關系。沒有更多細節,我建議您添加一列包含tlbsections.id,在新列上創建一個 FK,然后洗掉列sectiontblscans。
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;
可能還有其他選項,但提供的內容并不明顯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/451187.html
標籤:PostgreSQL 一对多
上一篇:如何使用PostgreSQL從表中洗掉除6個給定已知uuid之外的所有行
下一篇:如何對具有相同列的兩個表求和?
