今回からは、前回お話したリレーショナル・データベースを構成する3つの要素(表、データベース・エンジン、SQL)のうち、実際にSQLを利用してどのようにしてデータを操作するのかというところをお話していきます。前回SQLは大きく3つに分類されるとお話しました。今回は、その中から一番利用する機会の多い、データベース操作言語についてお話していきます。本題に入る前に、まずはSQLについてちょっと振り返ってみましょう。

SQLを使って何ができるの?
SQLは、世界的にデータベース言語の標準として利用されています。一言にリレーショナル・データベースと言ってもいろいろな製品がありますが、SQLで問い合わせを記述することによって、どんなリレーショナル・データベースだろうと、意識することなくデータを操作することができます。データベースの製品によっては、独自の拡張を行っているのもありますが、どのデータベースもSQLの規格に従っているので、一度SQLを覚えてしまえばデータベースの操作に困ることはありません。
SQLを利用することによって、以下のような様々なデータベースに対する操作を行うことができます。
- データの取得、挿入、更新、削除などの命令とその条件の指定
- データ取得の際の分類分けや整列
- 命令に使う文字列、日時、数値についての関数や演算子
- データの整合性の保証
- データへのアクセス制御
- 表の作成、変更、削除
実際にSQLでデータベースを操作してみる。
実際にSQLでリレーショナル・データベースに命令をする場合、リレーショナル・データベースに付属するコマンドラインツールなどのソフトウェアを利用します。コマンドラインツールからSQLを入力し実行することで、その命令がデータベースに引き渡されます。データベース側では、指示された命令に応じた操作を行い、その結果をコマンドラインツールに返します。コマンドラインツールでは、データベースから返された結果を同じ画面上に表示することで対話形式での操作を行うことができます。

しかし、データベースへのSQLの実行をコマンドラインツールでやりましょう!となると、データベース操作に慣れないうちはちょっと取っ付きにくいですよね?うまく操作できないのではないかと不安になってしまうと思います。データベースを操作するソフトウェアには、コマンドラインツール以外にもGUIを持ったソフトウェアがあります。図3は、オラクルが提供しているGUIベースのSQL開発ツールです。この様なGUIベースのソフトウェアでは、SQLを作成しやすくする機能をたくさん持っています。そして、SQLを書かなくてもデータベース操作が出来るような機能も持っています。でも最初からGUIのツールに慣れてしまいますと、「GUI上でしかデータベースを操作できない」というようになってしまいますので、SQLの基本をしっかり覚えてまずはSQLに慣れてください。

さて、この後さっそくSQLを使ってデータベースの操作をしてみます。前回お話ししたように、SQLは実行までの手順を必要とせず、何をデータベースにしてもらいたいかを考えればよいので、データベースに対しての命令はシンプルな形で記述できます。SQLはデータベース言語ですが、C言語やJavaのようなプログラム言語と同じように文法があります。しかし、C言語などのプログラム言語とは違い、ひとつの文で完結するようになっています。どちらかというと、英語での「命令文」の構文に近いイメージになります。先ほどシンプルといったのはそういう理由からです。SQLで記述された「命令文」を単にクエリーと呼びます。