從零開始建立 MySQL 認知地圖:什麼是資料庫、關係模型核心術語、SQL 三大語言分類、MySQL 發展歷程與核心優勢、系統特性矩陣、內核架構模型,為後續深入學習鋪設堅實地基。
資料庫:按資料結構組織、存儲、管理資料的倉庫,提供 API 供建立、存取、管理、搜尋、複製資料。
關係型資料庫 (RDBMS):建立在關係模型基礎上,以二維表(關係)為核心結構,利用集合代數處理資料,具備 ACID 交易特性。
| 術語 | 別名 | 通俗理解 | 範例 |
|---|---|---|---|
| Database | 資料庫 | 關聯表的集合 | 電商資料庫 |
| Table / Relation | 資料表 / 關係 | 二維表格 | users 表 |
| Tuple / Row / Record | 元組 / 行 / 記錄 | 一行資料 | 某用戶完整資料 |
| Attribute / Column / Field | 屬性 / 列 / 欄位 | 一列資料 | email 欄位 |
| Domain | 域 | 屬性取值範圍 | email 格式規則 |
| Key / Primary Key | 鍵 / 主鍵 | 唯一標識元組的屬性組合 | user_id |
| Foreign Key | 外鍵 | 關聯兩個表的欄位 | orders.user_id → users.id |
| Composite Key | 復合鍵 / 組合鍵 | 多欄位組成的索引鍵 | (user_id, order_date) |
| Index | 索引 | 加速查詢的排序結構 | idx_email |
| Referential Integrity | 參照完整性 | 不允許引用不存在的實體 | 刪除用戶前須處理訂單 |
| 類別 | 全稱 | 核心關鍵字 | 功能 |
|---|---|---|---|
| DDL | Data Definition Language | CREATE, DROP, ALTER, TRUNCATE, RENAME | 定義資料庫物件結構 |
| DML | Data Manipulation Language | INSERT, DELETE, UPDATE, SELECT | 操作資料內容 |
| DCL | Data Control Language | GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT | 控制存取權限與交易 |
| # | 特性 | 技術細節 |
|---|---|---|
| 1 | C/C++ 核心 | 多編譯器測試,高可移植性 |
| 2 | 多作業系統支援 | AIX, FreeBSD, HP-UX, Linux, macOS, Solaris, Windows... |
| 3 | 多語言 API | C, C++, Python, Java, Perl, PHP, Eiffel, Ruby, .NET, Tcl... |
| 4 | 多線程架構 | 充分利用多核 CPU,單進程多線程模型 |
| 5 | 優化查詢演算法 | 代價模型、索引合併、ICP、MRR、Hash Join (8.0+) |
| 6 | 雙重角色 | 獨立 Server / 嵌入式 Library (libmysqld) |
| 7 | 多語言字符集 | GB2312, BIG5, UTF8, UTF8MB4, Shift_JIS... 表名/欄位名可用 |
| 8 | 多連接協議 | TCP/IP, Unix Socket, Named Pipe, Shared Memory, JDBC/ODBC |
| 9 | 管理工具鏈 | Workbench, mysqldump, mysqladmin, mysqlbinlog, Percona Toolkit... |
| 10 | 大數據支援 | 千萬記錄、分區表、並行查詢 |
| 11 | 多引擎架構 | Handler API 抽象,引擎熱插拔 |
| 12 | Online DDL (5.6+) | 非阻塞結構變更,業務零停機 |
| 13 | GTID 複製 (5.6+) | 全域交易 ID,自動故障轉移、多源複製 |
| 14 | Crash-safe Slave (5.6+) | Relay log 校驗和,從庫崩潰自動修復 |
| 15 | 多線程從庫 (5.6+) | 平行重放 Relay log,大幅降低複製延遲 |
+-----------------------------------------------------------+ | SQL Layer | | +--------+ +--------+ +--------+ +--------+ +--------+ | | | Conn | | SQL | | Parser | |Optimize| | Cache | | | | Pool | |Interface| | | |r | |&Buffer | | | +--------+ +--------+ +--------+ +--------+ +--------+ | | +--------+ +--------+ +--------+ +--------+ +--------+ | | | Table | | Log | |Replica | |Storage | | | | | | Manager| | Module | | Module | |Engine I| | | | | +--------+ +--------+ +--------+ +--------+ +--------+ | +-----------------------------------------------------------+ | Storage Engine Layer | | MyISAM | InnoDB | NDB | Archive | Memory | ... | +-----------------------------------------------------------+ | File System / OS | +-----------------------------------------------------------+
以此核心知識體系為地基,每一步深入都有章可循,不再迷失在碎片化資訊中。