iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
佛心分享-IT 人自學之術

Python學習馬拉松:30天挑戰系列 第 20

Day20.在SQL的多對多關係( Many-to-Many Relationships in SQL)

  • 分享至 

  • xImage
  •  
  • 多對多關係:
    -定義:當一個實體可以與另一個實體有多個對應關係時,就稱為多對多關係。
    -如何處理多對多關係?
    ◆ 引入連接表:
    ◎ 在多對多關係中,我們通常會引入一個新的表格,稱為「連接表」(或稱「聯結表」、「交叉表」)。
    ◎ 連接表用來記錄兩個實體之間的關係。
    ◎ 連接表中通常包含兩個外鍵,分別指向兩個原有的實體表格。
    ◆ 外鍵的作用:
    ◎ 外鍵用來建立連接表與原有實體表格之間的關聯。
    ◎ 透過外鍵,我們可以知道哪本書對應了哪些作者,以及哪位作者寫了哪些書。
    ◆ 主鍵的處理:
    ◎ 連接表通常不需要單獨的主鍵。
    ◎ 由於連接表中的兩個外鍵組合起來已經能唯一識別一條記錄,因此不需要再額外設置一個主鍵。

-常見的多對多關係處理方式—舉例:
(1)
https://ithelp.ithome.com.tw/upload/images/20241004/20168364pjTxpT7PJT.png
-說明:
◆ 直接在Books和Authors兩個表格之間畫一條線,表示它們之間存在多對多關係。
◆ 這是一種簡化的表示方式,沒有明確顯示連接表。
(2)
https://ithelp.ithome.com.tw/upload/images/20241004/20168364Fl6AG67Mge.png
-說明:
◆ 引入了一個名為「Author-Book Junction Table」的連接表。
◆ 連接表中包含兩個外鍵,分別指向Books表格和Authors表格。
◆ 這種方式更詳細地展示了多對多關係的實現方式。

以上圖片皆出自於Coursera上的課程「Python for Everybody」來自University of Michigan。


上一篇
Day19. 數據模型和關聯 SQL (Data Models and Relational SQL)
下一篇
Day21. 實作練習:Mad Libs遊戲
系列文
Python學習馬拉松:30天挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言