データベース
■ データベース。 複数のプログラムが共同で利用できるように、 関連を持ったデータを重複なく集めたもの。 ■ スキーマ。 データベースの設計図に相当するもの。 データの形式、データの論理構造、データへのアクセス権、 操作のルールなどを規定している。 ■ 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