公務人員特種考試計算機大意106 年第 33 題單選題
SQL(Structured Query Language)的語法及概念是源自於下列那一個選項?
A線性代數(Linear Algebra)
B布林代數(Boolean Algebra)
C抽象代數(Abstract Algebra)
D關聯式代數(Relational Algebra)正確答案
D正確答案
SQL 是關聯式資料庫的查詢語言,其理論基礎來自 Codd 提出的關聯式代數 (Relational Algebra)。
為什麼答案是 D
1970 年 E.F. Codd 提出關聯式模型與關聯式代數 (選擇、投影、聯集、交集、卡氏積、Join 等運算),SQL 即是實作這些運算的查詢語言。
載入中…
完整詳解
Pro · 無限重點 SQL 是關聯式資料庫的查詢語言,其理論基礎來自 Codd 提出的關聯式代數 (Relational Algebra)。
看到 SQL 直接聯想「關聯式資料庫」→ 關聯式代數,秒選 D。
逐選項分析
A✕
線性代數處理向量、矩陣運算,應用在機器學習、圖學等,與 SQL 查詢邏輯無關。
B✕ 陷阱
布林代數 (AND/OR/NOT) 是數位邏輯電路基礎,雖然 SQL 的 WHERE 子句會用到布林運算,但 SQL 整體語法並非源自於此,別被 WHERE 條件誤導。
C✕
抽象代數研究群、環、體等代數結構,屬純數學領域,與資料庫查詢語言無關。
D✓ 正確
1970 年 E.F. Codd 提出關聯式模型與關聯式代數 (選擇、投影、聯集、交集、卡氏積、Join 等運算),SQL 即是實作這些運算的查詢語言。
關聯式代數核心運算 vs SQL 對應
| 關聯式代數運算 | 符號 | 對應 SQL | 說明 |
|---|
| 選擇 Selection | σ | WHERE | 篩選符合條件的列 |
| 投影 Projection | π | SELECT 欄位 | 挑選欄位 |
| 聯集 Union | ∪ | UNION | 合併兩表結果 |
| 卡氏積 Cartesian | × | CROSS JOIN | 兩表所有組合 |
| 合併 Join | ⋈ | JOIN ... ON | 依條件結合兩表 |
常見陷阱是選「布林代數」,因為 SQL 的 WHERE 子句確實使用 AND/OR/NOT。但 SQL 的整體語法架構 (SELECT-FROM-WHERE) 是來自關聯式代數的選擇、投影、聯結運算,布林代數只是其中條件判斷的一小部分。