データモデルについて

 本節では,データモデルについて説明します.データモデルはデータを記述するモデルであり,固有の考え方に基づいています.データベース中のデータは,現実世界のデータを抽象化したものです.すなわち,現実世界のモデルをデータベースのモデルに変換する必要があります.この変換は,データモデリング(data modeling)と呼ばれ,データモデリングの基礎となるのがデータモデルです.すなわち,データモデルは,データベースに必要なデータ構造の概念的な表現を提供します.なお,データモデルはハードウェアやソフトウェアとは独立したものと考えられます.その意味で,データモデルはデータベースのデータの記述するための理論と考えることができます.

 現在,表2のようなデータモデルが知られています.

〔表2〕データモデル
階層データモデル hierarchical data model
ネットワークデータモデル network data model
実体関連モデル entity-relationship model
関係データモデル relational data model
オブジェクト指向データモデル object-oriented data model
知識データモデル knowledge data model

 では,各データモデルの概要を説明します.階層データモデルは,図1のような,階層的な構造をもつデータを記述するためのデータモデルです.階層データモデルは,初期のデータベースでよく用いられたものとして知られています.階層データモデルは,1968年に発表されたIBM社のデータベースシステム「IMS(Information Management System)」に採用されています.

 階層データモデルでは,データは木構造で表現されます.関連するいくつかのデータ項目はセグメント(segment)といわれます.図1において最上位のセグメントAは根(root),末端のセグメントD,G,H,Fは葉(leaf)と呼ばれます.各セグメントは線で書かれている枝(branch)により結合され,かつ,枝の親子関係でレベル付けされます.階層データモデルは木構造になっているので,子セグメントは1個の親セグメントしかもてません.

〔図1〕階層データモデル

 ネットワークデータモデルは,階層データモデルを改良したデータモデルです.すなわち,階層データモデルは木構造を表現することができますが,図2に示すネットワークデータモデルでは,ネットワーク構造一般を表現できます.ネットワークデータモデルは,1964年に発表されたGeneral Electric社のデータベースシステム「IDS(Integrated Data Store)」に採用されています.なお,ネットワークデータモデルと同様のデータモデルは,CODASYL(Conference on Data Systems Language)により仕様化(1971年)されたので,「CODASYLモデル」とも呼ばれます.

〔図2〕ネットワークデータモデル

 ネットワークデータモデルでは,関連するいくつかのデータ項目はレコード(record)と呼ばれます.各レコードは2個以上の親レコードをもつことができます.したがって,ネットワークデータモデルは階層データモデルよりも強力なデータモデルと考えることができます.

 実体関連(ER)モデルは,Chen(チェン)により1976年に提案された概念的なデータモデルです.実体関連モデルでは,実世界は実体(entity)とそれらの関連(relationship)により記述されます.また,各実体や関連は属性(attribute)をもちます.実体関連モデルは概念的に理解しやすく,また,後述の関係データモデルに変換可能なため,実際のデータベースの設計などにも利用されています.なお,Chenは実体データモデルを図式化するための実体関連図(ER diagram)も提唱しました.実体関連図では,実体は長方形で,関連はひし形で,属性は楕円で表現され,各記号は線で連結されます(図3).また,関連には1対1関連,1対多関連,多対多関連の3種類があります.

 図3は,親子の実体関連モデルを実体関連図で記述したものです.すなわち,実体「親」と「子供」の間には「親子」という関連が存在します.なお,図3のように,この親に複数の子供がある場合,「親子」という関連は1対多関連となり,直線上の1とN がその関連を示しています.

〔図3〕実体関連モデル

 関係データモデルは,1970年にCodd(コッド)により提案されたデータモデルです.関係データモデルでは,関係(relation)と呼ばれる表の形でデータは表現されます.後述のように,関係データモデルは厳密な数学的理論に基き,関係データベースの基礎となっています.関係データモデルでは,データは関係の属性の表として表現されます(表3).また,各属性は値をもちますが,属性の値の組はタプル(tuple)と呼ばれます.したがって,関係データベースは2次元の表と考えられます.

〔表3〕関係データモデル データベース参考書
著 者 書 名 出版社 出版年
赤間世紀 データベースの原理 技報堂出版 2001
増永良文 リレーショナルデータベースの基礎 オーム社 1990
鈴木健司 データベースがわかる本 オーム社 1998

 ここで,「データベース参考書」が関係データベースの名前となります.なお,表の各列はフィールド(field),各行はレコード(record)と呼ばれます.よって,レコードはタプルとして表されています.

 以上が既存のデータベース技術で利用されてきたデータモデルですが,ほかのデータモデルも研究されています.オブジェクト指向データモデルはオブジェクト指向と呼ばれるソフトウェア開発方法論に基くデータモデルであり,また,知識データモデルは人工知能で議論されているデータモデルです.


インデックス
 ◆データベースとは何か
 ◆データモデルについて
 ◆関係データベースについて

今月号特集トップページへ戻る


Copyright 2002 赤間世紀