矢沢久雄 グレープシティ アドバイザリースタッフ

今回のキーワード
・クエリー

図1●SQLは,DBMSの世界統一規格?
 それでは,いよいよ本題のSQLです。SQLは,DBMSに密接に関わるものです。一言で言えば,SQLとは,DBMSのデータを読み書きするためのです。次回以降の連載でバンバン実例を示しますが,SQLは英語に良く似た言語です。

 ユーザーは,手入力でSQLを記述してそれをDBMSに伝えることも,ユーザーのマシンで実行される何らかのプログラムを使ってSQLを伝えることもできます。SQLは,言語とはいっても,C言語やBASICなどのプログラミング言語とは,目的が異なります。C言語やBASICなどが,プログラムを記述する(すなわちマシン内のプロセサに命令を与える)言語であるのに対し,SQLはDBMSにデータを読み書きする専門の言語なのです。

 意味のある1つのSQLの命令(SQL文)のことを「クエリー(query=問い合わせ)」と呼びます。SQLは,Structured Query Language(構造化照会言語)の略語であり,その名前の中にもクエリーという言葉が出てきます。SQL文とは,DBMSに対する問い合わせを記述した文であると言えます。動作中のDBMSは,常にクエリーを待っています。ユーザーからクエリーが与えられたら,DBMSが持つインタプリタがクエリー(SQL文)を解釈し,その内容に応じてデータ・ファイルを読み書きし,結果(取得されたデータなど)をユーザーに返します。

 SQLの素晴らしいところは,DBMSの種類が異なっても,基本的に同じ構文のSQLが使われるということです(メーカーによって若干違いがありますが)。SQLには,メーカーを超えて世界的に統一された規格があり(ANSI,ISO,JISで規格化されています),現状ではSQL-92(通称SQL2)という規格が広く使われています。つまり,SQLをマスターすれば,あらゆるメーカーのDBMSが使えるというわけです(図1[拡大表示])。様々な技術が氾濫する現在,統一された仕様が確立されているというのは,本当に素晴らしいことです。

◎今回の復習
・SQLはDBMSにデータを読み書きするための言語である
・SQL文のことを「クエリー(query=問い合わせ)」と呼ぶ
・DBMSの種類が異なっても,基本的に同じ構文のSQLが使われる