iT邦幫忙

2024 iThome 鐵人賽

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

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

Day19. 數據模型和關聯 SQL (Data Models and Relational SQL)

  • 分享至 

  • xImage
  •  
  • 建構資料模型:
    -在資料庫中,我們將現實世界中的事物(如客戶、產品、訂單)抽象化成資料物件。
    -透過繪製圖像,可以更直觀地了解這些物件之間的聯繫。
    -舉例:
    https://ithelp.ithome.com.tw/upload/images/20241003/20168364Ag7EYODoaF.png
    -圖片說明:
    ◆ 一旦我們定義了物件,就需要定義這些物件之間的關係。
    ◆ 物件 (Object): 在這個例子中,物件可以是「專輯 (Album)」、「藝人 (Artist)」和「歌曲 (Track)」等。
    ◆ 屬性 (Attribute): 物件的屬性是描述物件的特徵,例如「專輯」的屬性有「名稱」、「類型」,「歌曲」的屬性有「長度」、「名稱」等。
    ◆ 關係 (Relationship): 物件之間的關係表示它們之間的聯繫。例如,「歌曲」屬於某一張「專輯」,「專輯」是由某位「藝人」演唱的。
    -基本規則:不要重複儲存相同的字串資料,而是使用關係來連結。
    ◆ 為了保持資料的一致性,應避免在不同的記錄中重複儲存相同的值。
    ◆ 透過建立表之間的關聯,我們可以將重複的資料抽取出來,存放在一個地方,其他表則通過外鍵來引用。例如,如果有多個訂單屬於同一個客戶,我們只需在客戶表中儲存一次客戶名稱,而在訂單表中使用客戶 ID 來引用客戶。
    -在現實世界中,一個事物在資料庫中也應該只有一份對應的資料。
    ◆ 避免在不同的表中重複儲存相同的資料,可以減少資料庫的維護成本,並提高查詢效率。

  • 關係型資料庫的力量:
    -優勢:資料的一致性與查詢效率。
    -移除重複資料: 關係型資料庫會將重複的資料儲存一次,然後在其他需要用到的地方使用「參考」(也就是外鍵)來連結。這樣做的好處是:
    ◆ 節省儲存空間: 不用重複儲存相同的資料。
    ◆ 確保資料一致性: 如果資料只存儲一次,那麼修改資料時只需要修改一個地方,避免出現不一致的情況。

  • 「JOIN」操作:
    -JOIN操作 是在SELECT操作中,用來連結多個表格的運算。
    -必須透過ON子句告訴JOIN如何使用鍵值來建立表格之間的連結。
    -舉例:
    https://ithelp.ithome.com.tw/upload/images/20241003/20168364npLubHJP0A.png
    -圖片說明:
    ◆ 兩個表格:Album和Artist
    ◎ Album表格包含專輯的ID、藝人ID和專輯名稱。
    ◎ Artist表格包含藝人的ID和藝人名稱。
    ◎ 它們之間的關聯是透過artist_id這個欄位,也就是說,一張專輯屬於一位藝人。
    ◆ JOIN操作:
    ◎ 透過JOIN操作,可以將Album和Artist這兩個表格結合起來,找出每個專輯對應的藝人。
    ◎ 圖中的紫色箭頭顯示了兩個表格是如何透過artist_id欄位連結在一起的。

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


上一篇
Day18. 基本結構化查詢語言 Basic Structured Query Language
下一篇
Day20.在SQL的多對多關係( Many-to-Many Relationships in SQL)
系列文
Python學習馬拉松:30天挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言