資料庫:數據住在哪裡?
你開 Excel 整理客戶名單、商品清單、訂單記錄——這些在網站的世界裡,都存在「資料庫」。
情境:老闆問「上個月賣最好的是什麼?」
行銷主管突然問你:「上個月哪個商品賣最多?退貨率最高的是什麼?」
你知道這些資料一定在系統裡,但它們到底存在哪?怎麼被整理的?工程師說要「下 SQL 查」——SQL 又是什麼?
資料庫就是超強版的 Excel
資料庫和 Excel 很像,只是更強大:
| Excel | 資料庫 | |
|---|---|---|
| 資料量 | 幾萬筆就會卡 | 幾百萬筆也沒問題 |
| 同時使用 | 通常一個人編輯 | 幾千人同時讀寫 |
| 資料安全 | 檔案可能不小心刪掉 | 有備份和權限控制 |
| 查詢速度 | VLOOKUP 要等很久 | 毫秒級回應 |
對應關係
| Excel | 資料庫 | 說明 |
|---|---|---|
| 一個工作表 | 一張 Table(資料表) | 存放同一類資料 |
| 一列(Row) | 一筆 Record(記錄) | 一個商品 / 一張訂單 |
| 一欄(Column) | 一個 Field(欄位) | 商品名稱、價格、庫存 |
用程式模擬資料表
SQL:跟資料庫對話的語言
SQL(Structured Query Language)是用來查詢和操作資料庫的語言。你不需要會寫 SQL,但知道它在做什麼,跟工程師溝通會更順。
常見的 SQL 操作:
| SQL 指令 | 做什麼 | 白話翻譯 |
|---|---|---|
SELECT | 查詢資料 | 「我要看......的資料」 |
INSERT | 新增資料 | 「幫我加一筆......」 |
UPDATE | 更新資料 | 「把......改成......」 |
DELETE | 刪除資料 | 「把......刪掉」 |
資料表之間的關聯
真實的資料庫不會把所有東西塞在一張表裡。就像你不會把客戶資料和訂單資料放在同一個 Excel 工作表——會很亂。
資料庫用「關聯」把不同的表連起來:
本課重點
- 資料庫 = 超強版 Excel:資料表(Table)、記錄(Row)、欄位(Column)
- SQL 是跟資料庫對話的語言,SELECT 查詢、INSERT 新增、UPDATE 更新、DELETE 刪除
- 不同的資料表之間可以透過 ID 建立關聯
- 當你需要從系統撈資料,工程師做的事就是「寫 SQL 去查資料庫」
AI 協作:學了這個,跟 AI 怎麼配合?
了解資料庫概念後,你能用正確的語言描述你要的資料,讓 AI 幫你寫出 SQL 查詢或分析資料需求。
你的人類優勢:
- 你知道業務上需要什麼資料、用在什麼決策
- 你能判斷查出來的資料是否合理(例如某商品月銷量突然暴增 10 倍,可能是資料有問題)
可以這樣跟 AI 說:
我有一張訂單資料表,包含訂單編號、客戶名稱、金額和日期。請幫我寫一段 SQL,查出 2025 年 1 月消費金額最高的前 10 位客戶。
練習題
互動示範
挑戰任務
建立一個 products 陣列,包含三筆商品資料:{name: "洋裝", price: 1280} 和 {name: "涼鞋", price: 890} 和 {name: "墨鏡", price: 450}。用 for 迴圈印出每個商品,格式為「商品名稱 - 價格 元」,每行一個。
模擬 SQL WHERE 查詢:建立 orders 陣列包含 {id: 1, customer: "Amy", amount: 500}、{id: 2, customer: "Bob", amount: 1200}、{id: 3, customer: "Amy", amount: 800}。用 for 迴圈找出 customer 為 "Amy" 的訂單,印出 "訂單 {id} 金額 {amount}"(每行一筆)。
模擬 SQL SUM:建立 sales 陣列包含三個數字 [1200, 800, 1500],用 for 迴圈加總後,用 console.log 印出 "總營收:3500 元"。