首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL 語言發展史與標準化演進:從 System R 到 ANSI/ISO 標準的四大核心子語言

     編輯:關於SqlServer

SQL (Structured Query Language) 歷經半個世紀演進,從 IBM System R 原型成為關聯式資料庫的通用標準語言。理解其歷史脈絡、標準化里程碑、四大子語言架構,有助於跨平台技術遷移與標準相容性設計。

歷史關鍵里程碑

年份事件影響
1974Boyce & Chamberlin 提出 SEQUEL (SQL 前身)奠基關聯代數與關聯演算結合的查詢語言概念
1975-1979IBM San Jose 研發 System R 實現 SQL首個關聯式資料庫原型系統,驗證 SQL 可行性
1986ANSI X3.135 / ISO 9075 首版標準 (SQL-86)確立 SQL 為國際標準,廠商開始相容實作
1989SQL-89 (FIPS 127-1)修正錯誤、增加完整性條件約束、外鍵支援
1992SQL-92 (SQL2) - 重大擴展JOIN 語法標準化、日期時間型別、資訊結構描述、權限細粒度
1999SQL:1999 (SQL3)觸發器、遞迴查詢、物件導向特性、SQL/OLB、SQL/JRT
2003SQL:2003XML 整合 (SQL/XML)、窗格函數、序列、MERGE
2008SQL:2008TRUNCATE TABLE 分區、INSTEAD OF 觸發器標準化
2011SQL:2011時間資料表 (System-Versioned)、管道函數
2016SQL:2016JSON、多維陣列、Row Pattern Recognition

SQL 四大核心子語言架構

子語言英文全稱核心指令功能定位典型角色
資料定義語言DDLCREATE, ALTER, DROP, TRUNCATE, RENAME定義/修改/移除資料庫物件結構DBA, 資料架構師
資料操縱語言DMLSELECT, INSERT, UPDATE, DELETE, MERGE, LOCK查詢與修改資料內容開發人員, 分析師
資料控制語言DCLGRANT, REVOKE, DENY管理存取權限與安全性安全管理員, DBA
其他語言要素—COMMIT, ROLLBACK, SAVEPOINT, SET, CALL, EXPLAIN交易控制、會話設定、程序呼叫、計畫解析開發人員, DBA

SQL 語句分類表 1

SQL 語句分類表 2

標準與廠商實作的張力

  • 核心標準 (Core SQL):所有相容廠商必須實作的子集 (如 SQL-92 Entry Level)。
  • 擴展功能:廠商差異化競爭點 (T-SQL、PL/SQL、PL/pgSQL、SQL PL)。
  • 遷移策略:核心邏輯用標準 SQL,平台特有優化封裝於預存程式/函數,應用層透過抽象介面 (ODBC/JDBC/ADO.NET/EF Core) 隔離差異。

SQL 語句總覽 (約 40 條核心語句)

  • DDL (12):CREATE/ALTER/DROP DATABASE/TABLE/VIEW/INDEX/SCHEMA/FUNCTION/PROCEDURE/TRIGGER/TYPE
  • DML (8) :SELECT/INSERT/UPDATE/DELETE/MERGE/TRUNCATE/LOCK/UNLOCK
  • DCL (4) :GRANT/REVOKE/DENY/COMMENT
  • 交易 (4) :COMMIT/ROLLBACK/SAVEPOINT/SET TRANSACTION
  • 會話/診斷 (6) :SET/SHOW/EXPLAIN/DESCRIBE/HELP/USE
  • 程序/動態 (6) :CALL/EXECUTE/PREPARE/EXECUTE IMMEDIATE/DECLARE/CURSOR

給現代開發者的啟示

  1. 標準先行:新專案優先使用 ANSI SQL:2003+ 核心功能 (窗格函數、CTE、MERGE、XML/JSON)。
  2. 封裝差異:廠商特有語法 (如 TOP vs LIMIT/FETCH FIRST) 封裝於資料存取層。
  3. 工具輔助:使用 SQL 格式化/靜態分析工具 (sqlfluff, SonarSQL) 強制標準風格。
  4. 持續學習:關注 ISO/IEC 9075 最新標準草案,預判未來 3-5 年主流資料庫將支援的功能。

SQL 的標準化歷程,是關聯理論與工程實踐不斷磨合的歷程。掌握標準核心,善用平台特長,才能在多雲、異構、微服務架構中游刃有餘。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved