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

Last Update : April 12 2021 22:26:12

     

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. データベースの3層スキーマアーキテクチャ(3層スキーマ構造)

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

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


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

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

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

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

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

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

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

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

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


d. 関係データモデル

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

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

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

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

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


  [ 例題 ] 
  1. 平成28年度春期 問26  関係モデル
  2. 平成27年度春期 問26  3層スキーマ
  3. 平成26年度秋期 問26  スキーマ
  4. 平成25年度秋期 問29  関係データベース
  5. 平成24年度春期 問29  ビュー
  6. 平成24年度秋期 問29  ビュー
  7. 平成23年度春期 問31  SQL ビュー
  8. 平成19年度春期 問60  ビュー
  9. 平成19年度秋期 問61  ビュー
  10. 平成19年度秋期 問63  関係データベース


     

www.it-shikaku.jp