技術要素 - 9.データベース - 1.データベース方式 - 1.データベース

Last Update : June 29 2018 12:02:30

     

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

関係データベース
1970年にE.F.Codd博士によって理論化されたモデルで、Excelのような行と列で構成された表形式でデータを管理しています。各列を「フィールド(属性)」と言い、各行にデータが格納されています。この1行を「レコード(タプル)」と言います。また、1レコードの各項目を「フィールド」と言います。

構造型データベース
「階層型(ツリー型)データベース」「網型(ネットワーク型)データベース」があります。この2個を「構造型データベース」と言います。

HDB ( Hierarchical Database :階層型データベース)
木のような構造で、各レコードは、ただ1つの親レコードを許されるタイプのモデルです。
階層型では、データを上から下へと見ていくために親データと子データという関係が発生する。
このような体系では、1つのデータを探す手順は1通りしか存在しない。これは、親データと子データが「1対多」の関係でしか存在しないためである

NDB ( Network Database 網型データベース)
各レコードが複数の親レコードをもつことが出来ます。全体として「網目」になっています。
ネットワーク型データモデルでは各レコードは任意の個数の親レコードと子レコードを持つことができ、ラティス構造を形成する。

OODB ( Object Oriented Database :オブジェクト指向データベース)
オブジェクト指向設計をデータベース設計に適用したモデルで、対象世界を、データとそのデータに対する操作を持つ「オブジェクト」の集まりとして定義します。

ハイパテキストデータベース
従来の構造型データベースや関係データベースでは表現できない複雑なデータ構造を処理することができる。
データの中で意味のあるテキスト同士をリンクによって、関係づけて整理されたデータベース

マルチメディアデータベース
・文字や数値に加えて画像、音声などのマルチメディアデータを扱うことができる。
・ユーザーに対してメディアのデータ構造を意識させることなく、統一させたユーザーインタフェースを提供するために、オブジェクト指向のアプローチを取ることが多い。
・複雑で巨大なデータ構造が扱える。DBMS自身がデータ構造を定義し、その構造に沿って検索や部分変更が行える。
・データの時間的な操作・検索に対応できる。

XMLデータベース
XMLを扱うための機能を持つデータベースである。 狭義ではXMLのツリー構造をそのままデータ構造として持つ物を言うが、実際は伝統的な関係データベースにXMLを格納するものや、単にテキストファイルとしてXMLを格納するものなど様々である。現在ではXPath、XQueryで検索するデータベースをXMLデータベースと呼ぶことが多い。 今日では狭義のXMLDBは特にネイティブXMLデータベースと呼ばれる。Oracle Database、IBM DB2、Microsoft SQL Server などの関係データベースでもXPath、XQueryで検索するXMLデータベース機能を実装している。


b. データベースのモデル

抽象的な形式でビジネスや情報システムやデータベース管理システム (DBMS) でのデータの表現方法をモデル化したものである。
データベースを扱ううえで、データをどのような構造で格納し、どのように操作するかを考えなければならない。これらを定めた枠組みをデータモデルという。

データモデルに関して、DBMS非依存の「概念データモデル」、DBMS依存の「論理データモデル」、そしてデータベースそのものの内部構造を指す「物理データモデル」の3つの区分に分かれます。

  • 概念データモデル
    実際の情報をモデル化(抽象化)して、実装とは独立の概念データモデルを作成します。業務の論理的かつ正規化されたデータモデルで、DBMSに依存しません。
  • 論理データモデル(外部モデル)
    DBMSの特性を加味して作成され、DBMSに大きく依存したデータモデルです。なお、論理データモデルはデータ構造、データ操作、整合性維持の3つで構成されます。
  • 物理データモデル(内部モデル)
    DBの物理的な内部構造を決定するものです。

なお、データモデルを組み立てる行為のことをデータモデリングといいます。

また、論理データモデルには、複数のモデルがある。

  • 階層モデル
    階層モデルでは、レコードが木構造を構成しており、 親レコードと子レコードの比が1対nとなります。 レコードの関連付けは、ポインタによって行われます。

  • ネットワークモデル
    親レコードと子レコードの比がn対mになります。 つまり子レコードが複数の親レコードを持つことになります。 高速なアクセスが可能な半面、構造が複雑になるほど操作が煩雑になります。

  • 関係モデル
    関係型モデルには、従来の項目(field)に相当する属性(attribute)を列とし、レコードに相当するタプル(tuple)を行とする2次元の表形式で表現されたデータが複数あることが一般的です。それらを自由にキーで関連づけて新たな表を作ったり、ある観点で分解したりすることができます。


スキーマ
スキーマ( schema )とは、データベースでのファイルデータの構造やデータベースを操作する時の規則や表現法を定義したものを指す。
スキーマは外部スキーマ、概念スキーマ、内部スキーマの 3 層構造となっており、データファイルとプログラムファイルを分ける様になっている。三層スキーマという。

  • 概念スキーマ(スキーマ)
    対象世界を論理的に表現したものです。関係データベースでは「実表(リレーションスキーマ)」に相当します。 データベースの論理構造の定義。データ構造を特定のプログラムやコンピュータを意識して定義するのではなく、データそのものの立場から記述したもの。
  • 論理スキーマ(外部スキーマ・サブスキーマ)
    ユーザやアプリケーションといった、実際にデータを活用する立場から見た際のデータ構造を規定したものです。関係データベースでは、「ビュー」に相当します。
    個々のアプリケーションプログラムの立場からデータベースの構造を定義したもの。
  • 内部スキーマ(記憶スキーマ)
    媒体への物理的な格納形式を規定したものです。 概念スキーマの内容をコンピュータ上に実現するための定義。すなわち、データベースを記録媒体にどのように格納するかを記述したもの。


c. 関係データモデル

関係データモデルは、行と列からなる表形式で表現される。表と表はリレーションシップで関連付けられる。

定義域
ある属性を共通にもつ、同じ種類に属するものの集まりのこと。属性が取り得る値のこと。ドメインとも呼ばれる。
属性にドメインを設定することで、データベースの一貫性を保つことができる。
郵便番号のドメイン・・・3桁の数字 - 4桁の数字
単価のドメイン・・・0~100000の整数
メールアドレスのドメイン・・・英数字@英数字.英数字

主キー 】(Primary Key)
関係データベースでは、一つの表にまったく同じ値を持つ行が複数存在できない。そのため、データベースの中から、特定の行を指定するための項目を主キーと呼ぶ。
主キーは、単独の列の場合もあるが、複数の列を組み合わせて、主キーとする場合もある。これを複合キーと呼ぶ。

外部キー 】(Foreign Key)
別の表と関連付けるためのキーを外部キーと呼ぶ。

ビュー
表の一部を取り出したり、複数の表を組み合わせて作成された仮想的な表のこと。
直接的に表からデータを取り出すのではなく、仮想表であるビューを通して間接的に取り扱うことができる。


  [ 例題 ] 
  1. 平成11年度秋期 問49  データベース 3層スキーマ
  2. 平成11年度秋期 問50  関係データベース ドメイン
  3. 平成13年度秋期 問68  関係データベース ビュー


     

www.it-shikaku.jp