データベース

この記事での学習内容 ITパスポート 基本情報 応用情報

  • 代表的なデータベースの種類,データの表現構造,レコード間の関連付けの方法など種類ごとの特徴,与えられた要件に応じて最適なデータベースを選択し,設計に活用することを理解する。
  • データベースでは,システムの利用者やプログラムから見たデータの定義,論理的なデータ構造,物理的なデータ構造の3 層を区別することでデータの独立性を高めていること,データモデルの種類,特徴,利点,各スキーマの表現方法,表現できる内容,特徴を理解する。
  • 関係データモデルにおいて,データがどのように表されるのか,表の構成,考え方,複数の表の関係付けを理解する。また,与えられた要件に応じて,規定の表記法を使用してデータモデルを表現することを理解する。

用語例:関係データベース,構造型データベース,HDB(Hierarchical Database:階層型データベース), NDB ( Network Database : 網型データベース), CODASYL( Conference on Data Systems Languages ) 型データベース, OODB ( Object Oriented Database:オブジェクト指向データベース),オブジェクト関係データベース,ハイパテキストデータベース,マルチメディアデータベース,XML データベース、概念データモデル,論理データモデル(外部モデル),関係モデル,階層モデル,ネットワークモデル,物理データモデル(内部モデル),概念スキーマ,外部スキーマ(副スキーマ),内部スキーマ(記憶スキーマ)、関係(リレーション),タプル(行,組),属性(列,フィールド),実現値,定義域(ドメイン),E-R 図

 データベースの種類と特徴

データベース

データベースとは、大量のデータをコンピュータで処理できるようにまとめて蓄積したものです。データは処理しやすい形に整理され、格納されています。

データベースには、次のような機能があります。

  • アプリケーションから独立している・・・色々なプログラムから参照できる。
  • データが統合されて一元的に管理される・・・データにムダ(冗長性)がない。
  • 排他制御の機能がある・・・複数の利用者が共有利用しても矛盾が起きない。
  • 障害時の復旧機能がある・・・データの信頼性が高い。

階層型データベース

階層型データベース(Hierarchical Database:HDB)は、外部スキーマとしては階層的な分類体系とみなすデータベースです。「構造型データベース」の一種とされています。

概念スキーマとしては、データ群を木構造で表します。順編成ファイルでは扱いにくかった分類体系を扱うことが容易です。アルゴリズムが基本的には簡潔で、かつ豊富に蓄積されているのが特徴です。

しかし、複数の分類の間の共通部分をまとめにくいという性質があります。また、一つのデータを探す手順は1通りしか存在しません。

ネットワーク型データベース

ネットワーク型データベース(Network Database:NDB)は、外部スキーマとして、階層的な分類体系において、異なる分類の間の共通の下位の分類や項目を持てるようにしたデータベースです。「構造型データベース」の一種とされています。

概念スキーマとしては、典型的には格子状のネットワーク構造になります。複数の分類の間の共通部分をまとめることが出来るのが特徴です。

しかし、自由度は高いが設計が複雑で利用効率が低くなりやすい面があります。

関係データベース

関係データベース(Relational Database:RDB)は、外部スキーマとしては、任意の関係を持つデータ群のデータベースです。

概念スキーマとしては行×列で構成される表(テーブル)が、外部キーによって相互連結されるという形で管理されます。処理は関係演算を基盤にすることによって、簡潔に指定されます。階層やネットワークなどの構造に制約されずに、様々な観点で扱うことが出来るため、利用者の視点で設計でき、構造が理解しやすいのが特徴です。

内部スキーマの処理は効率的とはいえませんが、コンピュータの性能が向上したので、関係データベースが主流になっています。

テーブルには、データがレコード単位に格納されます。各レコードは、いくつかのフィールドから構成されています。下図の例では、商品名や仕入先を関係演算用のキーにして、別の観点の表をユーザへ見せることができます。

オブジェクト指向データベース

オブジェクト指向データベース(Object Orientated Database:OODB)は、「データとそれらの処理方法を一つのオブジェクト」として捉えるデータベースです。

オブジェクト指向データベースは、テキストだけではなく、処理が複雑な画像、音声、動画などのマルチメディアの管理に向いています。

最近では、オブジェクト関係データベースというものも出てきています。

データベースのモデル

データモデルとは

データモデルとは、データベースの設計の各段階における設計の結果のことで、データの構造を表現したものです。

  • 概念データモデル:データベースの概要を設計したもの
  • 論理データモデル:概念データモデルを詳細化したもの
  • 物理データモデル:データモデルの実際の構造を設計したもの

スキーマ

スキーマとは、データベースの定義情報であり、データの枠組みに当たります。

データの項目、設計上の構造、見かけ上の構造、実際の物理的な構造などの情報群を指します。

3層スキーマ

3層スキーマは、データベースの様々なデータモデルを、3つの階層に分類したもので、以下のように分類されます。

外部スキーマ(副スキーマ)
利用者にとってのデータ群の構造。ユーザの見方で設計する。
概念スキーマの一部+利用者側の定義情報。
概念スキーマ(スキーマ)
設計上のデータ群の構造。データベース設計者の見方で設計したもの。
内部スキーマ(記憶スキーマ)
OSやハードウェア、DBMSなど、コンピュータ側から見たデータ群の構造。 実際にデータを格納するための、物理的な構造情報の定義。

3層スキーマの利点

3層スキーマを採用することで、以下のような利点があります。

  • データベースの定義の変更を局所化出来る。
  • 異なるDBMSや異なるOS上の同一DBMSへの移行が容易になる。
  • 階層的に捉えることで、ユーザに取っての外部スキーマを変えずに、異なるコンピュータに移行する際の手間を最小限にすることが出来る。