什麼是關聯式資料庫?

資料庫

怎麼簡單暸解RDBMS的關聯?

關聯式資料庫(RDBMS)一個最重要的特色就是關聯(好像廢話(?))

但什麼是關聯?

簡單來說,我們是使用者
一個使用者可能扮演很多個角色

更生活化的表示,
在一個職場裡,我(user)是後端工程師(role)的角色
在家裡,我(user)是妹妹(role)的角色。
那我的角色是後端工程師,我的角色也是妹妹。

可以把關聯想像成是中文的、擁有、連結…的意思。

情境練習題:

訂單的產品可以是關聯嗎?那應該要如何用中文想像?

答案是 Yes

  • 一張訂單有好幾種產品,
  • 一個產品可以連結好幾個訂單。

怎麼簡單區分主鍵(PK)與外鍵(FK)?

那主鍵和外鍵的關係必定基於彼此table是有關聯的,
每一張table會有一個主鍵,且最多只能設一個,
而外鍵就是關聯表的主鍵。

忘記關聯的可以往上複習一下~

order 訂單

order_id (PK) customer_name order_date
1 Alice 2025-01-10
2 Bob 2025-01-12
3 Charlie 2025-01-15

product 產品

product_id (PK) product_name price
1 Laptop 1000
2 Smartphone 800
3 Headphones 100
4 Keyboard 50

order_product 訂單的產品

order_id (FK) product_id (FK) quantity
1 1 1
1 3 2
2 2 1
2 4 1
3 1 2

下一篇 會介紹關聯的關係 一對多、多對一、多對多與中介表