什麼是資料庫?
App 把資料永久存在哪裡
⏱ 預估 ~5 分鐘
01 · 讀一讀
你用的每個 app 都會把資料存在某個地方。當你建帳號、發照片、存文件,那些資訊都要放在永久的地方,明天回來時還要在。
這就是 資料庫(database) 的工作:一個有組織的系統,用來存資料跟拿資料。沒有資料庫,每個 app 在你關掉的瞬間就全忘光了。
💡 想像一下資料庫就像一個整齊的儲藏室,層架都貼了標籤。你不會把食材隨便丟進櫃子,而是把罐頭放一層、香料放另一層、穀類放第三層。要找東西時,你知道該去哪裡找。資料庫對資料做的就是同一件事 — 把一切整理好,讓 app 一找就到。
重點整理
- 資料庫會把資料永久存下來 — 重開、當機、停電都還在
- 資料被組織成有結構的集合(像有行有列的表格)
- 使用者在做事時,app 會不停地從資料庫讀資料、寫資料
- 大部分 app 在幕後都至少有一個資料庫
02 · 看程式碼
下面是典型資料庫裡資料的樣子。這是一個 users 表 — 每一列(row)是一個使用者,每一欄(column)是他的一項資訊。
users 表
| id | name | email | created_at |
|----|------------|--------------------|---------------------|
| 1 | Sara Chen | sara@email.com | 2024-01-15 09:30:00 |
| 2 | Alex Kim | alex@email.com | 2024-02-20 14:45:00 |
| 3 | Jamie Diaz | jamie@email.com | 2024-03-01 11:00:00 |
每個使用者各佔一列。欄位(id、name、email、created_at)對所有人都一樣 — 這個結構叫做 schema(綱要)。就像試算表,每一列都用同一個格式。
03 · 讀一讀
不是所有資料庫運作方式都一樣。主要有兩大家族:SQL 資料庫(像 PostgreSQL、MySQL)把資料存在嚴格的表裡,有行有列。每一列都遵守同一個結構,叫做 schema。想成試算表 — 每一列都有完全一樣的欄位。資料可預測、有結構時 SQL 資料庫很好用。
NoSQL 資料庫(像 MongoDB)更彈性。它不是用死板的表,而是把資料存成文件(document) — 把它想成 JSON 檔。每份文件可以有不同的欄位,所以你不用一開始就決定好結構。資料變化大、常常改的話 NoSQL 很適合。
重點整理
- SQL 資料庫用嚴格的表跟固定的 schema(每一列同樣的欄位)
- NoSQL 資料庫用彈性的文件,每份可以有不同的欄位
- PostgreSQL 是熱門的 SQL 資料庫;MongoDB 是熱門的 NoSQL 資料庫
- 兩種沒有誰「比較好」 — 它們是為不同情境設計的
04 · 分類拖拉
把這些描述分類到正確的資料庫類型。
(本節為互動練習,請啟用 JavaScript 體驗)
05 · 選擇題
為什麼 app 需要資料庫?
- 把資料永久存下來,關掉 app 也不會不見
- 讓 app 看起來比較好看
- 連到網際網路
- 讓程式跑得比較快
⚠ 完整互動體驗需要 JavaScript。請啟用 JavaScript 後重新整理。
※ 本站為獨立繁中教學專案,非 Anthropic 官方產品。Claude™ 為 Anthropic, PBC 商標。