🎯 什麼情境該想到我

當你「兩個物件是多對多關係,一邊對多筆、另一邊也對多筆,要存進資料庫」的時候。

⚙️ 怎麼用(步驟 / 公式)

意圖:用一張獨立的關聯表(link table)儲存多對多關聯,每一列記錄一組配對的兩個外鍵。

做法要點:

  • 建立中間表,欄位包含兩端物件的主鍵(兩個外鍵)。
  • 一列代表「A 與 B 相連」的一筆關係;查詢時 join 兩端還原集合。
  • 更新時比對兩端集合,計算要新增 / 刪除哪些關聯列。
  • 關聯本身若有屬性(如加入時間),也放在這張表上。

🧪 我實際套用的紀錄

  • (待填)

⚠️ 注意 / 什麼時候不適用

  • 若其實是一對多,用外鍵對應即可,不必多一張表。
  • 更新集合需要差異比對,實作比單一外鍵複雜。
  • 大量關聯時要注意查詢與索引效能。

🔗 相關工具