前史 — Codd論文という稲妻

SQLの歴史は、1970年6月にE. F. Coddが発表した論文「A Relational Model of Data for Large Shared Data Banks」から始まります。 論文はわずか11ページでしたが、当時支配的だった階層型(IBM IMS)・ネットワーク型(CODASYL)のデータベースモデルに対して「集合論と述語論理で記述された関係モデル」という全く異なる抽象を提示しました。

Codd自身はIBMの社員でしたが、論文発表当初、IBMは自社のIMSに脅威になるとしてCodd の構想に冷淡でした。 その間隙を突いたのが、カリフォルニア大学バークレー校のMichael StonebrakerとEugene Wongで、 1973年にはCodd理論に基づく研究用DBMS「INGRES」とその問い合わせ言語「QUEL」の開発を開始します。

SEQUEL誕生 — 1974年San Jose

IBMは1973年にCoddの構想を実証する「System R」プロジェクトをSan Jose Research Labで発足させます。 中核メンバーのDonald ChamberlinとRaymond Boyceは、最初「SQUARE(Specifying Queries in A Relational Environment)」という言語を設計しましたが、 添字・上付き文字を多用する数学的記法が難解すぎて断念。

1974年5月、Chamberlinと Boyceは論文「SEQUEL: A Structured English Query Language」をACM SIGFIDETワークショップで発表。「Structured English」の名の通り、英語に近い宣言的構文を採用し、非数学者にも書きやすい言語を目指しました。

timeline
    title SQL誕生への道程
    1970 : Codd "A Relational Model of Data..."
         : 関係モデルを提唱
    1973 : System R プロジェクト発足 (IBM San Jose)
         : Berkeleyで INGRES/QUEL 開発開始
    1974 : Chamberlin & Boyce "SEQUEL" 論文発表
         : SQUAREから改名・簡素化
    1977 : Software Development Laboratories 設立
         : (後のOracle)
    1979 : Oracle V2 リリース (VAX 向け)
         : 最初の商用SQL RDBMS
    1981 : IBM SQL/DS リリース
    1983 : IBM DB2 (MVS向け) リリース
    1986 : ANSI SQL-86 標準化
    1987 : ISO 9075:1987 標準化
1970-1987年: リレーショナルモデルから国際標準化までの17年

QUEL vs SQL — 技術では敗れず、市場で勝った

1970年代末〜1980年代前半、リレーショナルDBにはSQLとQUELの二大勢力がありました。 技術的にはQUELの方が優れているという評価が主流で、C. J. Date(Coddの共同研究者)は1985年の論文で「QUELはSQLよりリレーショナルモデルに忠実で、合成可能性に優れる」と論じています。

-- SQL (SEQUEL系譜)
SELECT name, age FROM users WHERE age >= 30;

-- QUEL (INGRES) — タプル変数を明示し、関係代数に忠実
RANGE OF u IS users
RETRIEVE (u.name, u.age) WHERE u.age >= 30

それでもSQLが勝った理由は市場と組織の力学です。

  1. IBMの参入: 1981年SQL/DS、1983年DB2でIBMがSQLを採用。当時のIT業界でIBMの採用はそのままデファクト化を意味した
  2. Oracleの先手: 1979年、Larry EllisonらのOracle V2がSystem Rより先にSQLを商用リリース。最初の顧客はCIA
  3. ANSI標準化: 1986年にANSIがSQLを採用。StonebrakerはイデオロギーゆえにANSIに出席せずQUELを擁護しなかったと後に回顧
  4. INGRESのSQL対応: 3年かけてQUEL→SQLに移行した頃には、顧客の多くがOracleに流れていた

ANSI/ISO標準化 — 10回の改訂

1986年のANSI SQL-86を皮切りに、SQLはISO/IEC 9075として国際標準化され、今日まで10回の改訂を経てきました。 標準化の主役はISO/IEC JTC 1/SC 32/WG 3(Database Languages)で、 米国ではANSI X3H2 → NCITS H2 → INCITS DM32.2と変遷した技術委員会が窓口になっています。

主要機能
1986SQL-86最初のANSI標準 (X3.135-1986)
1987SQL-87ISO採択 (ISO/IEC 9075:1987)
1989SQL-89参照整合性制約、Ada/C言語バインディング
1992SQL-92 (SQL2)OUTER JOIN、CROSS JOIN、CASE式、DATE/TIME型、INFORMATION_SCHEMA — 現代SQLの骨格
1999SQL:1999 (SQL3)再帰CTE、ROLLUP/CUBE (OLAP)、Boolean型、ユーザ定義型、トリガー、ロール
2003SQL:2003SQL/XML、ウィンドウ関数、MERGE文、IDENTITY列
2006SQL:2006SQL/XMLにXQueryを統合
2008SQL:2008TRUNCATE、INSTEAD OFトリガ、FETCH FIRST/OFFSET
2011SQL:2011時間テーブル (temporal tables)、PERIOD FOR、AS OF、ウィンドウ関数強化
2016SQL:2016JSON関数 (22機能)、Row Pattern Matching (MATCH_RECOGNIZE)、LISTAGG
2019SQL:2019Part 15 新設: 多次元配列 (MDarray)
2023SQL:2023Part 16 SQL/PGQ (Property Graph Queries)、ネイティブJSON型、ANY_VALUE、数値リテラルのアンダースコア
2025SQL:2025 (進行中)複数パートが改訂予定、2026年時点で策定中

SQL-92 — 現代SQLの骨格が固まった年

SQL-92は初版のSQL-86(120ページ)から579ページへと4倍以上に膨張し、OUTER JOIN、CROSS JOIN、CASE式、CAST、DATE/TIME/TIMESTAMP/INTERVAL型、動的SQL、トランザクション分離レベル、CHECK制約など、 今日のSQLで当たり前に使われる機能の大半を導入しました。 2026年時点でもSQL-92を「現代SQLの基盤」と呼ぶのはこのためです。

SQL:2023 — グラフクエリの標準化

2023年6月採択のSQL:2023は、2016年以来7年ぶりの完全版改訂。 最大のトピックはPart 16「SQL/PGQ(Property Graph Queries)」の新設です。

-- SQL:2023 SQL/PGQ — SQL文の中でグラフパターンマッチを記述
SELECT owner_name, pet_name
FROM GRAPH_TABLE (
  my_graph
  MATCH (a:Person)-[:OWNS]->(b:Pet)
  COLUMNS (a.name AS owner_name, b.name AS pet_name)
);

これにより、既存のリレーショナルテーブル上に「プロパティグラフのビュー」を定義し、 Cypher風のパターンマッチング構文でグラフ問い合わせができるようになりました。 Oracle 23aiが初の商用実装、PostgreSQL 18でも実験的サポート、DuckPGQプロジェクトも進行中です。

オープンソース時代 — MySQL と PostgreSQL

商用RDBMS(Oracle, DB2, SQL Server)の陰で、1990年代後半からオープンソースDBが台頭します。 その流れが2010年代のクラウドネイティブ時代の礎になりました。

timeline
    title オープンソースRDBMSの系譜
    1986 : POSTGRES (UC Berkeley)
         : Stonebrakerが指揮
    1994 : MySQL 開発開始 (TcX, Monty Widenius)
         : Andrew Yu & Jolly Chen が POSTGRES に SQL 追加
    1995 : MySQL 1.0 (内部)
         : Postgres95 公開
    1996 : PostgreSQL に改称
         : MySQL 外部リリース
    1998 : LAMPスタック命名 (独Computertechnik誌)
    2000 : SQLite 1.0 (D. Richard Hipp)
    2008 : Sun が MySQL AB を買収
    2010 : Oracle が Sun を買収
         : Monty Widenius が MariaDB をフォーク
    2025 : PostgreSQL 18 (AIO, skip scan, uuidv7)
         : MariaDB 11.8 LTS (VECTOR 型搭載)
1986-2025: オープンソースRDBMSの40年史
DB初版創設者設計思想
PostgreSQL1996 (Postgres95は1995)Michael Stonebraker (UC Berkeley)拡張性とSQL標準準拠度を最優先
MySQL1995Monty Widenius, David Axmark (TcX)高速・軽量・Webでの実用性
SQLite2000D. Richard Hipp (米海軍駆逐艦向けに開発)ゼロ設定・組み込み・Public Domain
MariaDB2009Monty Widenius (Oracleによる買収への懸念から)MySQL互換・コミュニティ主導

現代 — 分散SQL とAI時代

2010年代以降、SQLはクラウド・分散・AIという3つの新しい文脈に拡張されています。

時期潮流代表製品
2012-2015NewSQL / 分散SQLGoogle Spanner, CockroachDB, TiDB
2015-2020組み込み OLAPDuckDB, ClickHouse, chDB
2020-2024Lakehouse SQLDatabricks SQL, DuckLake, Apache Iceberg
2024-2026SQL + Vector統合pgvector, MariaDB VECTOR, SQL Server 2025, Oracle 23ai AI Vector Search
2024-2026Text-to-SQL (AI)GitHub Copilot in SSMS, Cursor, Vanna, BIRD/Spider 2.0 ベンチマーク

Amazon Aurora DSQLが2025年5月にGAし、AWSが分散SQLの主戦場に正式参戦。PostgreSQL互換の分散SQL(CockroachDB, YugabyteDB, Aurora DSQL)が現代の主戦場になっています。 一方でMariaDB 11.8 LTSが2025年にVECTOR型とHNSWインデックスを標準搭載し、 AIワークロードとSQLの融合が本格化しました。

第2章のまとめ

  • SQLの歴史は1970年Codd論文1974年SEQUEL1979年Oracle V21986年ANSI標準化の流れで形作られた
  • QUEL(INGRES)は技術的にはSQLより優れていたが、IBMの市場影響力とANSI標準化がSQLを事実上の標準にした
  • SQL-92で現代SQLの骨格が完成し、以降の改訂でウィンドウ関数・JSON・グラフクエリなどが積み増された
  • SQL:2023ではPGQ(Property Graph Queries)が新設され、グラフDBの領域がSQLに取り込まれた
  • 現代のSQLは分散SQL・組み込みOLAP・Vector統合・Text-to-SQLという新しい文脈で進化を続けている

次章では、SQLの設計思想を支える数学的基盤「関係代数」に踏み込みます。 なぜSQLは短く書けて、なぜオプティマイザが勝手に書き換えられるのか。 その答えは関係代数の8つの演算子と「閉包性」にあります。

理解度チェック

問題 0 / 50%
Q1

SEQUELが「SQL」に改名された理由として最も正しいものはどれですか?

キーボード: 1〜4 で選択、Enter で回答