🎯 什麼情境該想到我
當你「兩個物件是多對多關係,一邊對多筆、另一邊也對多筆,要存進資料庫」的時候。
⚙️ 怎麼用(步驟 / 公式)
意圖:用一張獨立的關聯表(link table)儲存多對多關聯,每一列記錄一組配對的兩個外鍵。
做法要點:
- 建立中間表,欄位包含兩端物件的主鍵(兩個外鍵)。
- 一列代表「A 與 B 相連」的一筆關係;查詢時 join 兩端還原集合。
- 更新時比對兩端集合,計算要新增 / 刪除哪些關聯列。
- 關聯本身若有屬性(如加入時間),也放在這張表上。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 若其實是一對多,用外鍵對應即可,不必多一張表。
- 更新集合需要差異比對,實作比單一外鍵複雜。
- 大量關聯時要注意查詢與索引效能。
🔗 相關工具
- 外鍵對應 Foreign Key Mapping(一對一 / 一對多的對照作法)
- 識別欄位 Identity Field(兩端主鍵的來源)
- 企業應用架構模式