データベース管理システム(Data Base Management System; DBMS)は複数の 人やアプリケーションで共有する大量のデータ(データベース)の格納と処理を 効率よく行うためのシステムである.どのようにデータを表現するのか,デー タベースをどういう形式にするか決定するためのデータモデルには様々なもの が存在するものの,いまだに古典的なリレーショナルデータベースモデルが主 流を占め,リレーショナルDBMSが普及している.
代表的なリレーショナルDBMSとしてはOracle社のものが有名である.オープ ンソースやフリーソフトとしては,日本ではPostgreSQLがよく使われている.ま た海外では手軽さからMySQLがよく用いられている.個人用のDMBSとしては Microsoft社のAccessが有名である.
WebサーバとDBMSを連携し、ユーザがWebブラウザを介してアクセスすることが可能 なデータベースとして構築されたものをWebデータベースと呼ぶ.例えば、Oracleはその 目的にWebDBパッケージを提供している.
データベースが主目的でなくとも、ユーザがWebブラウザを介して操作するこ とができる一般のWebアプリケーションは、ユーザの管理機能や履歴管理など多 くのデータベースに依存する.このためバックエンドにDBMSサーバが控え ているWebサイトが一般的である。
まず用語を整理しておく.
表形式で定義されるデータを「テーブル」と呼ぶ.「テーブル」は「フィー ルド」と「レコード」から構成される.テーブルではどのようなレコードが格納 されるのかを予めいくつかのフィールドで定義しておく.フィールドはテキスト 型,数値型,日付/時刻型など格納されるべきデータに合わせて,型や長さなど を定義する.
テーブルを関連付けて結合する役割を担うのが「リレーション」である.テーブ ルとテーブルの間の関係を記述する.
リレーションで結ばれたテーブルに対して、必要なデータを取得するための「問 い合わせ」のことを「クエリ」と呼ぶ.
リレーションの例を下図に示す.
店舗テーブルから情報を引き出す時でも,例えば,業種コードと住所コードの代わり に業者名や住所そのものの情報をリレーションを通じて引き出すことが可能とな る.店舗ファイルには存在しないデータである「業種名」 と「住所」を別のテーブルから引用して表示するような操作をデータ ベースでは結合と呼ぶ.
実際にクエリを行うには,通常SQLを用いてクエリ を記述する.
Accessの場合にはクエリ作成も,GUI上でマウスを用いてクエリを作成するこ とが可能であるが,その実体はやはりSQLである.GUIで作成されたクエリも Accessで実行される際には,SQLに変換されてから実行されている.