關聯式資料庫設計(一)
什麼是關聯式資料庫?
資料庫
怎麼簡單暸解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 |
下一篇 會介紹關聯的關係 一對多、多對一、多對多與中介表
本部落格所有文章除特別聲明外,均採用CC BY-NC-SA 4.0 授權協議。轉載請註明來源 QuL's Technical Blog!