← Deep Dive Technology

SQL Deep Dive

1970年のCodd論文から2023年のSQL/PGQまで、半世紀にわたり事実上の標準であり続ける問い合わせ言語SQLを、設計哲学・関係代数・実行モデル・インデックス・トランザクション・方言・未来の10章で徹底解剖するシリーズ

#SQL#データベース#RDBMS#PostgreSQL#MySQL#関係代数

目次

  1. 第1章
    第1章: SQLとは何か — 宣言的言語とリレーショナルモデルの本質 「WHATを書けばHOWはオプティマイザが決める」の意味、集合論との接続、関係モデルの基本語彙、SQLが半世紀君臨する理由
  2. 第2章
    第2章: 歴史 — SEQUEL誕生からSQL:2025までの半世紀 Codd論文(1970)、SEQUEL誕生(1974)、Oracle V2(1979)、QUEL論争、ANSI/ISO標準化、SQL-92/:2016/:2023の年表
  3. 第3章
    第3章: リレーショナル代数 — SQLを支える数学的骨格 σ/π/⋈/∪/−/÷の8演算子、SQLとの対応、閉包性・合成可能性、関係代数がオプティマイザを可能にする理由
  4. 第4章
    第4章: 主要構文と論理処理順序 — DDL/DML/DCL/TCLとNULLの3値論理 FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BYの論理実行順、JOIN 6種類、NULLと3値論理、詰まりポイントTop5
  5. 第5章
    第5章: サブクエリ・CTE・ウィンドウ関数 — モダンSQLの3本柱 相関/非相関サブクエリ、WITH再帰CTE、PARTITION BY/ORDER BY/frame、RANK/LAG/LEAD、アンチパターン
  6. 第6章
    第6章: クエリプランナとオプティマイザ — 宣言性を支える頭脳 パーサ→アナライザ→リライタ→プランナ→エグゼキュータの5段階、CBO、System R論文、Volcano/Cascades、JOIN 3アルゴリズム
  7. 第7章
    第7章: インデックスと実行計画 — B+tree・GIN・BRIN・EXPLAIN ANALYZE B-tree/B+tree/Hash/GiST/SP-GiST/GIN/BRIN、EXPLAINの読み方、インデックスが効かないクエリ、use-the-index-luke
  8. 第8章
    第8章: トランザクションと並行性制御 — ACID・分離レベル・MVCC ACID、4つの分離レベル、3つの異常、PostgreSQL/MySQL/Oracleのデフォルト差、MVCC、2PL、Serializable Snapshot Isolation
  9. 第9章
    第9章: SQL方言と競合技術 — PostgreSQL/MySQL/NoSQL/分散SQL/OLAP 主要RDBMS方言差、SQL vs NoSQL、NewSQL(Spanner/CockroachDB/TiDB/Aurora DSQL)、OLAP系(DuckDB/ClickHouse)、ORM論争
  10. 第10章
    第10章: AI時代のSQL — 現在の採用状況・Vector統合・学習ロードマップ 市場シェア、採用企業事例、Vector型搭載の潮流(PG/SQL Server/Oracle/MariaDB)、Text-to-SQL、初→中→上級の学習ロードマップ