データベース
■ データベース。
複数のプログラムが共同で利用できるように、
関連を持ったデータを重複なく集めたもの。
■ スキーマ。
データベースの設計図に相当するもの。
データの形式、データの論理構造、データへのアクセス権、
操作のルールなどを規定している。
■ 3層スキーマ。
スキーマは3層に分けて作成される。
すなわち、中心となる概念スキーマと、それとは独立した外部スキーマ、
内部スキーマの3層である。
こうして3層に分離しておけば、
たとえば概念スキーマが変更された場合でも、
利用者またはアプリケーションが受ける影響を最小限にとどめることができる。
(1) 概念スキーマ。
論理スキーマともいう。
データが本来持っている属性や論理的関係を表したもの。
関係データベースでは、表や関係の定義を指す。最も抽象度の高い表現であり、
外部スキーマと内部スキーマを結び付ける。
(2) 外部スキーマ。
副スキーマともいう。
個々のアプリケーションから、または利用者の立場から見た、
データの構造やデータの指定方法を表したもの。
(3) 内部スキーマ。
物理スキーマ、または記憶スキーマともいう。
データベースを補助記憶装置上にどのように格納するかを表したもの。
パフォーマンス、リカバリ、セキュリティを考慮する。
■ スキーマの作成
スキーマを作成することは、
データベースを設計するということである。
ふつうはまず、データベース化したいデータを収集し、
それらの種類(E)や関係(R)を明らかにしてE-R図を作成し、
これをもとに概念スキーマを作成、
その後で外部スキーマ、内部スキーマを検討する。
一旦稼動させたデータベースのスキーマを、
あとから変更することは容易ではないので、
事前に要件を十分検討して、スキーマを設計すべきである。
■ データモデル。
データベースは、
内部スキーマにおいて定める、データ本体の記憶媒体への配置方法によって、
階層型データベース、ネットワーク型データベース、
関連データベースに分類される。
(1) 階層型データベース。
木構造のデータベース。
大分類、中分類、小分類の様に、段階的に細分化できるデータの管理に適する。
親レコードは複数の子レコードを持つことができるが、逆は1つに限られる。
(2) ネットワーク型データベース。
階層型データベースは複数の親レコードと関連付けられないという制限があるが、
これを改良し複数の親レコードと関連付けられるようにしたもの。
レコードとレコードは網の目のように結ばれる。
(3) 関係データベース。
リレーショナルデータベースともいう。
データを2次元の表で表す。
通常データベースと言えば関係データベースを指す。
構造が簡単で、イメージしやすく、柔軟な表現、変更や拡張がしやすい。
■ DBMS。Database Management System。
データベースは、
ユーザ(プログラム)がデータ本体に直接アクセスして操作するのではなく、
データベース処理専門のソフトウェアにアクセスして、
これを経由して間接的に操作する方法を採る。
このソフトウェアのことをデータベース管理システム(DBMS)と呼ぶ。
DBMSの主な機能としては、3つがある。
(1) データベース定義機能
新しいデータベースの作成等にあたり、
データ形式や論理構造、アクセス権などを定義する機能。
データベース言語で実現する。
(2) データベース操作機能
データベースから特定のデータを検索したり、
データベースの特定のデータを変更したりする機能。
データベース言語で実現する。
(3) データベース制御機能
データベースを複数のユーザが同時に使用することを可能にする機能。
機密保護や障害発生時の回復を行う機能。
以上。
2004/03/10 pm