標準SQL規格
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/20 00:39 UTC 版)
SQL規格は1986年に統一標準規格が発表されるまでは、その統一標準規格が存在しない状況であった。そのため、各関係データベース管理システム (RDBMS) ベンダーごとにさまざまな拡張がなされてきた。 近年になってANSI、後にISOで言語仕様の標準化が行われており、制定された年ごとにSQL86、SQL89、SQL92、SQL:1999、SQL:2003、SQL:2006、SQL:2008、SQL:2011などの規格があるが、対応の程度はベンダーごとにバラバラである。これは標準SQL策定に時間がかかりすぎたことにより、ビジネスの現状から早期の機能拡張が迫られたベンダーの都合と、独自構文を頻繁に利用していた利用者およびプログラマーに対し、互換性保持を保証する必要もあったためである。 そして1986年に統一標準規格が発表されて以来非常に多くの改正が行われた。制定年度順に代表的な規格を以下に挙げる。 年通称別称説明規格1986年 SQL86 SQL87 ANSIによって発表された最初の規約。1987年にISOによって批准された。データ操作言語 (DML) 仕様策定: COBOL、FORTRAN、PL/Iなど、親言語(母言語、ホスト言語とも言う)への埋込みSQL文仕様策定 ANSI X3.135-1986ISO 9075:1987 1989年 SQL89 マイナーバージョン。データ定義言語 (DDL) 仕様策定 (CREATE TABLE文、CREATE VIEW文、GRANT文。ただし、DROP文、ALTER文、REVOKE文はなし) 制約および整合性機能を追加 (DEFAULT、UNIQUE制約、NOT NULL制約、PRIMARY KEY制約、CHECK制約、参照整合性制約) C言語への埋込みSQL文仕様の追加 ISO 9075:1989ANSI X3.135-1989 1992年 SQL92(英語版) SQL2 メジャーバージョン直交性の改善 (表式) データ型の拡張 (可変長文字列、ビット、文字集合、日付・時刻・時間間隔 (DATE、TIME、TIMESTAMP、INTERVAL)) 外部結合 (OUTER JOIN) 定義域 (DOMAIN) 表明 (ASSERTION) 一時表 (TEMPORARY TABLE: 永続化しないデータを格納) DDL仕様追加 (DROP文、ALTER文) 動的SQL仕様 前方・後方スクロール可能なカーソルサポート クライアント/サーバシステムのためのCONNECT/DISCONNECT文 ISO/IEC 9075:1992ANSI X3.135-1992 1995年 SQL/CLI コールレベルインターフェース (Call Level Interface)業界標準になった ODBC API のインタフェースに相当する機能を国際標準化した規格 1996年 SQL/PSM 永続格納モジュール (Persistent Storage Module)一般的にストアドプロシージャと呼ばれる機能を国際標準化した規格 1999年 SQL:1999(英語版)(SQL99) SQL3 RDBMSのための完全な言語になることを目指した仕様。正規表現による値照合 共通表式(WITH句) 再帰クエリ OLAP (ROLLUP、CUBE、GROUPING SETS) ユニオン (UNION)・結合経由の更新 カーソル操作の機能強化 (トランザクション完了後のオープン状態保持)・ユーザ定義権限 (ROLE)・トランザクション管理の新機能 (SAVEPOINT) SQL/PSM強化 (制御構文 (IF、WHILEなど) サポートなど) SQLJ (Javaを親言語とする埋め込みSQL規格) データベーストリガ ユーザ定義関数 (ストアドファンクション) 非スカラー型の新しいデータ型: 真理値 (BOOLEAN) 型と配列 (ARRAY) 型、LOB (Large Object)、ユーザ定義型、構造型 上位表と下位表 (スーパーテーブルとサブテーブル) オブジェクト指向の考え方を取り入れたオブジェクト関係データベース技術 (ORDB)。配列型やユーザ定義型、ユーザ定義関数と上位表/下位表仕様により実現されている。 2003年 SQL:2003(英語版) SQL/MM (マルチメディア: フレームワーク、全文検索、空間データ (Spatial)、静止画像) SQL/MED (外部データ管理: 非関係データ (順編成ファイルや階層型データベースなど) や他社の関係データをSQLでアクセスするための規格) SQL/OLB (オブジェクト言語バインディング: SQLJを標準化する。Javaプログラムに埋め込むSQL文) XML関連の機能 ウィンドウ関数 順序(シーケンス)の標準化と識別キー列に対する値の自動生成を行う列仕様の導入 (ID型) (See Eisenberg et al.: SQL:2003 Has Been Published.) 2008年 SQL:2008(英語版) INSTEAD OF トリガ TRUNCATE TABLE ステートメント 配列型の集約と展開 (array_agg, unnest) 2011年 SQL:2011(英語版) 2016年 SQL:2016(英語版)
※この「標準SQL規格」の解説は、「SQL」の解説の一部です。
「標準SQL規格」を含む「SQL」の記事については、「SQL」の概要を参照ください。
- 標準SQL規格のページへのリンク