データベース千夜一夜第1回

データベースよもやま話 長谷川裕行
有限会社 手國堂

データベースの構成要素

本記事で取り上げるデータベースは、RDBMSで管理されるリレーショナル・データベースです。リレーショナル・データベースでは、その基礎となる「一定の書式で情報を記録したもの」を「表」または「テーブル」と言います。

RDBMSでは、単に書式化された情報だけではなく、それらの集合にそれらの有機的な結合情報(リレーションシップ)、それらを内部で操作するためのプログラム(ビュー、ストアドプロシージャ)などが加わったものを「データベース」と呼び、単一のファイルとして扱います。


- テーブル -

リレーショナル・データベースを構成する各要素がどのようなものか、見ていきましょう。まず、テーブルからです。

テーブルは表とも呼ばれるように、考え方としては表計算ソフトのワークシート上に作った表と同じで、横に列、縦に行を配置した二次元の構造です。

列方向に書式を構成するデータの種類――これを「列」または「カラム」「フィールド」と言います――を取り、行方向に1件ごとのデータを配置します。1件ごとのデータを「行」または「レコード」と呼びます。

氏名 所属部署 内線番号 部数
------------------------------------
青木清太郎 人事部 1234 8
飯山敬子 財務部 1235 12
上田光男 経理部 1236 5

本記事では、RDBMSとしてマイクロソフト社のSQL Serverを基準とします。そこで、データベースを構成する各要素の呼び方もSQL Serverのマニュアルやヘルプで用いられているものを使うことにします。表は「テーブル」、列は「フィールド」、行は「レコード」です。


- その他の要素 -

ある仕事を処理するためには、上記のようなテーブルが複数必要になります。社内報の配布先と部数を記録したテーブルだけでは、担当者の氏名や各部署の名前などはわかりますが、他の社員の名前や所属先はわかりません。そこで、社員全員の名前、社内のすべての部署と内線番号などを記録したテーブルを用意すれば、人事管理や給与管理など社内報の配布以外の仕事にも同じデータが利用できます。

狭い意味でのデータベースでは、ある業務に関連する複数のテーブルをまとめて管理できるようになっています。また、その複数のテーブルを元にして個別の仕事に必要な情報を生成するための設定や、様々な仕事で必要になる共通のプログラムなども、データベースの構成要素として管理します。

ダイアグラム
Accessなどで言われるリレーションシップです。あるテーブルとあるテーブルを関連付け、一定の意味を成す業務のための情報とするために、2つのテーブルのフィールド同士を結び付けたものがダイアグラムです。

業務システムのデータ設計で作成されるER図(Entity-Relationship Diagram)と、原理的には同じものです。



ビュー
テーブルから特定の要素(フィールドを絞り込んだもの、与えた条件を満たすものなど)だけを抽出するための指示とその処理結果です。抽出の指示にはSQLを用いますが、SQL ServerのEnterprise ManagerではGUIを使って視覚的にビューを設計できます。
Accessでは選択クエリと呼ばれます。




ストアドプロシージャ
新規テーブルの作成や既存テーブルのバックアップ、頻繁に用いるレコード操作などをプログラムとして記述したものです。データベースを利用するアプリケーションから呼び出して利用できます。

多くのアプリケーションで共通する処理をストアドプロシージャにしておけば、無駄なコードを減らすことができます。また、ストアドプロシージャはサーバー側の資源を使って処理されるため、クライアントの処理を軽減できます。

データベースには、この他にユーザーの権限や管理用の情報なども含まれます。これら様々な情報が一体となったものが、RDBMSの管理するデータベースです。


あとがき

リレーショナル・データベースは、アプリケーションから直接操作するテーブルの他に、様々な構成要素から成り立っています。本記事ではSQLから始めて、ダイアグラムやビュー、ストアドプロシージャなど、これら構成要素の機能と扱いを順次紹介していきます。

なお、RDBMSにはSQL Serverを使用します。折に触れ、Oracleとの違いなども紹介しようと思います。



トップページ
RDBMS以前と以後
様々なデータベース
データベースの構成要素
テーブル
その他の要素
あとがき
Copyright © MESCIUS inc. All rights reserved.