データモデリング
[Wikipedia|▼Menu]

データモデリング(: data modeling)は、コンピュータ科学の文脈では、何らかのデータモデリング方法論を適用してデータモデルインスタンスを作る過程である。データモデリング方法論は、データモデリングを形式的に記述したものである。現在までに考案されたデータモデルの種類としては、次のようなものがある。

階層型データモデル

ネットワーク型データモデル

関係モデル

オブジェクト関係モデル

オブジェクトモデル

データモデリングを行う際には、データを構造化し組織化する。こうして作成されたデータ構造は、その後にデータベース管理システム (DBMS) を使って実装されることが多い。データモデリングの過程では、データを定義し組織化することに加えて、構造化したデータに対して (暗黙的もしくは明示的に) 制約の集まりを同定する。

大容量の構造化データおよび大容量の非構造化データを管理することは、情報システムの主要な機能である。データモデルは、関係データベース管理システム (RDBMS) のようなデータ管理システムにおいて、記憶装置永続化される構造化データを記述する。データモデルは、非構造化データ——ワードプロセッサで作成する文書や電子メールのメッセージ、画像、デジタル音楽、デジタル動画など——については記述しないことが多い。

データモデリングの例については、次の節を参照。

#実体関連図 (ER図) によるデータモデリングの例

#統一モデリング言語 (UML) のクラス図によるデータモデリングの例

データモデルの種類

データモデルのインスタンスには、ANSIによれば次の3種類がある。
概念スキーマ
概念スキーマ (データモデル) は、モデリングの対象となる領域の意味的な側面を記述する。例えば、何らかの組織もしくは業界のある側面のモデルを概念スキーマとして記述できるであろう。概念スキーマは、実体クラスと関連の集まりから構成される。実体クラスは、対象領域において重要な概念を表現する。関連は、2つの実体クラスの間の結びつきである。概念スキーマは、モデルを使って表現することができる事物などを同定する。一般的に適用できるモデルについては、#汎用データモデルの節で述べる。
論理スキーマ
論理スキーマ (データモデル) は、モデリングの対象となる領域の意味的な側面を、データを扱うための何らかの技術を使って、表現したものである。論理スキーマは、関係モデルにおける関係 (、テーブル) と属性 (列) や、オブジェクト指向におけるクラスXMLの要素 (タグ) と属性などから、構成される。
物理スキーマ
物理スキーマ (データモデル) は、データが永続化される物理的な方法を記述したものである。物理スキーマは、パーティションCPU、表スペースなどに関連する。

こうしたANSIによる方法で重要なのは、先述した3つの視点のおのおののモデルが、互いにある程度独立していることである。論理スキーマにおける関係 (表) と属性 (列) は、概念モデルに必ずしも影響を与えることなく、変更することができる。実際には、当然ながら、スキーマの構造は、他のスキーマに対して一貫性をもっている必要がある。論理スキーマにおける関係 (表) と属性 (列) は、概念モデルにおける実体クラスと属性を直接的に変換した結果とは、異なることがある。しかし論理スキーマは、最終的には、概念モデルの実体クラスの構造の目標を満足させる必要がある。多くのソフトウェア開発プロジェクトの初期の開発工程では、概念データモデルの設計が重要である。続く工程で、概念データモデルは、論理データモデルの形に詳細化することができる。その後の工程で、場合によっては論理データモデルは物理データモデルに変換される。しかしながら、場合によっては、概念モデルを直接に実装することもできる。

個々の事例では、細部では異なることがあっても、モデルインスタンスの構造は、他のモデルインスタンスと整合している必要がある。論理データモデルにおける関係 (表、テーブル) と属性 (列) の構造は、概念データモデルにおける実体クラスと関連と属性を直接的に変換したものとは、異なっていることがある。しかし論理データモデルは、最終的には、コンテクストの水準のデータモデルにおける実体クラスの構造と、概念データモデルにおける関連の構造の、それぞれの目標を満足させる必要がある。論理データモデルが作成された後の工程では、データを保存するプラットフォームが決まると、論理データモデルは物理データモデルに変換することができる。そして物理データモデルをもとにして、データの定義が作られる。データベースに実際にデータが格納されて運用されると、データベースに対するデータ操作 (照会、更新など) を行うことができる。
データ構造

データモデルは、対象とする領域におけるデータの構造を記述し、また結果としてその領域自体の基礎となる構造を記述する。これは、データモデルは、対象とする領域のための専用の人工言語の文法を、実際に規定しているということを意味する。

データモデルは、実体のクラス (事物の種類) の集合を表現する。対象となる組織は、実体クラスの集合について、情報と情報の属性と実体間の関連と属性間の関連を、保持して管理しようと考える。データモデルは、データをコンピュータシステムで表現する方法とはあまり関係ない形で、データを組織化して記述する。データモデルによって表現される実体は、有形物の実体である場合がある。しかしそうした具象的な実体クラスを含むデータモデルは、時を経ると、モデルが変更される傾向がある。堅牢なデータモデルでは、そうした実体の抽象を同定することが多い。例えば、あるデータモデルでは「人物」という名前の実体クラスを含んでいるかもしれない。そのデータモデルにおける「人物」の実体は、ある組織と相互作用する全ての人物を表現する。このような抽象的な実体クラスは、多くの場合、「売り手」や「従業員」という名前の具象的な実体クラスと比べて、適切である。なおここで、「売り手」や「従業員」の実体クラスは、そうした人々によって行われる特定の役割を同定している。

一部の人々は、データモデルを設計することは、トランザクションデータと参照用データを区別するために役立つと、考えている。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:29 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef