前 12 天主要都在學習 Docker,從 Image、Container、Port、Volume 到 Dockerfile,也成功建立了自己的 Image。
從今天開始,要正式進入這次系列的另一個主角:PostgreSQL。
PostgreSQL 是一套開源的關聯式資料庫管理系統(RDBMS),可以用來儲存、管理及查詢資料。
例如一個員工系統可能需要保存:
員工編號
姓名
職位
帳號
密碼
這些資料就可以建立成資料表並存放在 PostgreSQL 中。
關聯式資料庫通常會將資料整理成一張張的 Table(資料表)。
例如員工資料表:
| id | name | position |
|---|---|---|
| 1 | 小明 | 正職 |
| 2 | 小美 | 兼職 |
其中:
可以簡單理解成:
Database
↓
Table
↓
Row + Column
之後就可以透過 SQL 對這些資料進行新增、查詢、修改與刪除。
PostgreSQL 可以應用在許多不同的系統中,例如:
而且 PostgreSQL 可以和 Node.js 等後端程式串接,因此很適合拿來練習完整的資料庫應用。
這次也會把 PostgreSQL 實際應用到專案中,而不只是單純學習 SQL 指令。
如果使用傳統方式,可以直接把 PostgreSQL 安裝到自己的電腦。
但這次希望把前面學到的 Docker 實際應用起來,因此會使用 PostgreSQL 官方 Image 建立 Container。
整體概念:
PostgreSQL Image
↓
Container
↓
PostgreSQL
↓
Volume
↓
保存資料庫資料
這樣不只能練習 PostgreSQL,也能把前面學過的 Image、Container、Port 和 Volume 一起應用。
接下來會開始真正建立 PostgreSQL Container。
之後會慢慢加入:
Docker
↓
PostgreSQL
↓
Database
↓
Table
↓
SQL
↓
Node.js
最後讓後端程式可以真正讀取與寫入 PostgreSQL 中的資料。
今天正式從 Docker 進入 PostgreSQL。以前接觸資料庫時比較常直接使用 SQL 指令,這次則希望從資料庫環境開始了解,並把前面學習的 Docker 一起應用進來。
目前先了解 PostgreSQL、Database 和 Table 等基本概念,也更清楚 Docker 和 PostgreSQL 並不是同一個東西,而是可以利用 Docker 建立 PostgreSQL 的執行環境。
前面花了不少時間學習 Docker,就是為了接下來真正把它應用在資料庫上。下一步就要開始用 Docker 建立第一個 PostgreSQL Container。