データベース・SQL について学ぶ

   SQL レファレンス   

 データベースは、データを格納するためのものであるが、リレーショナルデータベース(以下、RDB)は、データの格納に際して、行と列から成る 2 次元の表として、表と表を関係(リレーション)させることによって、データを構成・管理する概念を持っています。

 多くの RDB 製品は、実際にデータを保存するデータベースとしての機能、データベースへアクセスするためのアプリケーション機能、そして、RDB 製品の中核とも言える、データベースの管理機能(以下、DBMS)で構成されています。 DBMS は、「データベース管理機能」、「トランザクション管理機能」、「同時実行管理機能」、「セキュリティ管理機能」、「障害回復管理機能」の 5 つの機能で構成されています。

RDB : 1974 年に IBM 社の E.F.Codd 氏により発表された「Relational Model of Data for Language Shared Data Banks」が起源となる。

DBMS : Data Base Management System

 また、SQL は、プログラミング言語の一つですが、RDB を操作することだけを目的としているため、C 言語や Java などのプログラミング言語と異なる点は、データが何であるかは指定しますが、データを取得する方法までは記述しません。

 現在、SQL は、RDB を操作するための標準言語となっていますが、この背景には、Oracle・IBM・Microsoft などの RDB 製品と取り扱っているメーカーが、これまで数多くの RDB 製品を発表してきたことで、RDB の役割・活用が少しずつ市場に浸透してきたからではないでしょうか。 しかし、数多くの RDB 製品が採用されてきたため、RDB 製品によって SQL に異なる部分があるため、SQL の標準化(SQL 規格化)が進められ、1999 年に改定された SQL-99 に RDB 製品も対応してきているようです。

SQL : 1974 年に IBM 社から System R の操作言語として発表された「Structured English QUEry Language」が起源となっているが、商標登録の関係上「SQL」に変更した経緯がある。

SQL-86 : 1986 年に ANSI、1987 年に ISO によって初めて制定された SQL 規格。

SQL-92 : SQL-86 を補完・拡張し、1992 年に ANSI / ISO により制定された SQL 規格。(SQL-2 と呼ばれることもある)
> ほとんどの RDB 製品で利用できる。

SQL-99 : SQL-92 で制定された基本機能を拡張し、多くの機能を追加した SQL 規格。(SQL-3 と呼ばれることもある)
> 広範囲の規格であるため、すべてを実装する RDB 製品はない。

SQL の基礎知識

 データベースの操作言語である SQL には数多くのコマンドが用意されています。 データを取得したり、追加するときに使用するデータ操作言語、データを格納する表や情報を参照するためのビューなどを定義するときに使用するデータ定義言語、ユーザー管理やデータ操作に関するトランザクションなどを制御するときに使用するデータ制御言語の三つに分類することができます。 また、DBMS 製品によって異なりますが、演算子や関数も用意されているので、演算子や関数を組み合せて使用することで効率的にデータベースを操作することができます。