0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

こんにちは!今日は、リレーショナルデータベース操作言語として世界中で使われているSQL(Structured Query Language)の歴史と、その標準化の流れについてまとめます。SQLは、データベース技術を学ぶうえで避けて通れない存在であり、過去から現在に至るまでの発展を理解することで、なぜSQLがここまで広く普及し、標準化が進められてきたかを確認できます。

本文

SQLとは

SQL(構造化問合せ言語) は、関係データベース管理システム(RDBMS)に対するデータ定義、データ操作、データ制御など、あらゆる操作を行うための宣言的な言語です。

SQLの由来

SQLの起源は1970年代にIBMが研究していた SEQUEL(Structured English Query Language) という言語です。この言語は、関係モデル(エドガー・F・コッドが提唱)の理論に基づくデータ操作を実現するために考案されたものでした。後に商標権などの問題から名称が変更され、 SQL(Structured Query Language) という名称が定着しました。

当時、IBMだけでなく他のベンダも関係データベース製品を開発しており、共通のデータベース操作言語としてSQLが受け入れられました。SQLは英語に近い文法で学習しやすく、広く普及しました。その結果、ほとんどの商用・オープンソースDBMSでSQLが標準的な問い合わせ言語として使われるようになりました。

標準SQLの制定と拡張

SQLは複数のベンダが実装し、機能拡張を行ってきたため、一時期はベンダごとの独自仕様が乱立していました。これが開発者やユーザーにとって混乱のもととなったため、ANSI(米国規格)やISO(国際標準化機構)が中心となって標準規格が策定されました。

  • SQL-86(1986年):最初のSQL標準規格で、ANSIによる標準化が行われました
  • SQL-89(1989年):整合性制約が追加されました
  • SQL-92(標準SQL2 / 1992年):大幅に改訂(ISO 9075として標準化)されました。データ型の拡張、動的SQL、言語の直交性の改善、整合性機能拡張、外部結合、一時表、動的SQL、DDL拡張、トランザクション分離レベルなど多くの機能が盛り込まれました
  • SQL-99(標準SQL3 / 1999年):現在主流の標準SQL規格は1999年に制定されたSQL99で正規表現検索、再帰問合せ(推移的閉包)、トリガー、手続き型や制御フロー文、配列型などを導入しました。オブジェクト指向的要素やJavaとの連携(SQL/OLB, SQL/JRT)も追加されました
  • SQL:2003 / SQL:2008 / SQL:2011 / SQL:2016:定期的な改訂により、XML関連機能、ウィンドウ関数、階層型問い合わせ、JSONサポートなど、現代的なニーズに応える機能が追加されています

ベンダ独自拡張と標準SQLの関係

OracleやMicrosoft SQL Server、MySQL、PostgreSQLなど、主要なRDBMSは標準SQLに従いつつ独自拡張を追加しています。これらの拡張は高機能かつ便利ですが、移植性を下げる原因にもなります。そのため、システム間連携やDBMS移行を考慮する場合は、可能な限り標準SQLを優先する設計が推奨されます。

日本国内規格と情報処理試験

日本では SQL:JIS X 3005 規格群(ISO/IEC 9075に準拠)が存在し、情報処理技術者試験ではこの規格を参照しています。SQL:2008相当の機能がベースとなりますが、実務上はこれ以降のバージョンの機能がサポートされているケースも多くあります。

現在のSQLと今後の展望

SQLは、関係データベースのみならず、分散型システムやクラウド環境でのデータ分析にも用いられるようになりました。NoSQLデータベースの一部がSQLライクなクエリ機能を提供するなど、SQLの文法や考え方が非伝統的なデータストアにも波及しています。

まとめ

SQLは1970年代のSEQUELから始まり、多くのベンダと標準化団体の努力によって整備・発展してきました。標準SQL規格(SQL-86、SQL-92、SQL:1999、SQL:2008、SQL:2016など)の更新に伴い、SQLはより豊かな機能と明確な定義を獲得し、関係データベース操作の事実上の標準言語となりました。

今後もSQLは進化を続け、非関係データストアや先端技術と組み合わせることで、データ活用の幅がさらに広がります。標準に沿ったSQLを学び、DBMSベンダ独自機能や最新規格をキャッチアップしていくことで、データベースエンジニアや開発者としてのスキルを強化できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?