データモデリング

データモデリングは、コンピュータ科学において、データモデルを作成するプロセスです。このプロセスでは、特定のデータモデリング方法論を適用し、データ構造を形式的に記述します。

データモデルの種類



データモデリングで用いられるデータモデルには、いくつかの種類があります。

階層型データモデル: データを階層構造で表現します。
ネットワーク型データモデル: 複雑なデータ間の関係をネットワーク状に表現します。
関係モデル: データを表(テーブル)と列で表現します。
オブジェクト関係モデル: 関係モデルオブジェクト指向の概念を取り入れたものです。
オブジェクトモデル: データをオブジェクトとして表現します。

データモデリングのプロセス



データモデリングでは、まずデータを構造化し、組織化します。その後、データベース管理システム(DBMS)を使用して実装することが一般的です。

データモデリングの過程では、データの定義と組織化に加え、構造化されたデータに対する制約を明確にします。これにより、データの整合性を保ち、正確な情報管理が可能になります。

データモデルは、構造化されたデータを記述するもので、主にRDBMS(関係データベース管理システム)のようなデータ管理システムで使用されます。一方、ワードプロセッサで作成された文書、メール、画像、音楽、動画などの非構造化データについては記述しません。

データモデルの3つの視点



ANSI(米国規格協会)では、データモデルを3つの視点から捉えることを推奨しています。

概念スキーマ: モデリング対象となる領域の意味的な側面を記述します。実体クラス(概念)と関連から構成されます。
論理スキーマ: 概念スキーマをデータ処理技術を使って表現したものです。関係モデルでは表や列、オブジェクト指向ではクラスやXML要素などを使用します。
物理スキーマ: データの物理的な保存方法を記述します。パーティションCPU、表スペースなどの要素を含みます。

これらの3つのモデルは、それぞれ独立しており、相互に影響を与えることなく変更することが可能です。ただし、スキーマ全体の一貫性は保つ必要があります。

データモデルとソフトウェア開発



ソフトウェア開発プロジェクトの初期段階では、概念データモデルの設計が非常に重要です。概念データモデルは、その後の開発段階で論理データモデルに詳細化され、さらに物理データモデルに変換される場合があります。

ただし、場合によっては、概念データモデルを直接実装することも可能です。それぞれのモデルの構造は、互いに整合性を保つ必要があります。

データ構造



データモデルは、対象とする領域のデータ構造を記述し、その領域自体の構造を定義します。つまり、データモデルは、対象領域のための人工言語の文法を規定します。

データモデルは、実体クラス(事物の種類)の集合を表現します。組織は、これらの実体クラスについて、情報、属性、関連を保持・管理します。データモデルは、データをコンピュータシステムで表現する方法とはあまり関係なく、データを組織化して記述します。

データモデルによって表現される実体は、有形物の実体である場合がありますが、堅牢なデータモデルでは、抽象的な実体を同定することが多くあります。たとえば、「人物」という実体クラスは、組織と相互作用するすべての人物を表すことができます。このような抽象的な実体クラスは、特定の役割を表す「売り手」や「従業員」よりも適している場合があります。

データモデルを設計する際には、トランザクションデータと参照用データを区別することが重要です。トランザクションデータは、一つ以上の参照用データを参照するデータです。

汎用データモデル



汎用データモデルは、従来のデータモデルを汎用化したもので、標準化された関係型と関連する種類を定義します。汎用データモデルを定義することは、自然言語を定義することに似ています。例えば、「分類関係」や「全体-部分関係」のような関係型を定義します。

汎用データモデルでは、拡張性のあるリストにより、あらゆる事物を分類し、オブジェクトの全体-部分関係を指定できます。これにより、従来のデータモデルの固定的なスコープを克服し、より柔軟な表現を可能にします。

従来のデータモデルでは、同じ領域を複数の人がモデル化すると、異なるモデルが作成されやすく、共同作業での困難やデータ交換・統合の障害となります。汎用データモデルは、こうした問題を解決し、より統一されたデータモデリングを可能にします。

汎用的なツールを作成する際には、抽象的なモデルが適しています。このモデルは、「事物」と「事物タイプ」の変形版から構成され、すべての実際のデータがこれらのインスタンスとして記述されます。ただし、この抽象的なモデルは、実世界の事物を表現しにくいという側面もあります。

汎用データモデルの構造



汎用データモデルは、以下のような特徴を持っています。

「事物インスタンス」、「クラス」、「関連」などの汎用的な実体で構成されます。
あらゆる事物インスタンスは、「事物インスタンス」またはそのサブタイプのインスタンスです。
事物インスタンスは、明示的な分類関連によって分類されます。
分類に使用される実体は、「クラス」またはそのサブタイプのインスタンスとして定義されます。
属性は、他の実体への関連として扱われます。
実体は、事物の本質的な性質に基づいて命名されます。
実体には、一意な識別子が割り当てられます。
アクティビティ、関連、イベントによる影響は、実体として表現されます。
実体は、サブタイプ/スーパータイプの階層の一部を構成します。

汎用データモデルの例として、ISO 10303-221、ISO 15926、Gellishなどが挙げられます。

データの組織化



別の種類のデータモデルでは、DBMSや他のデータ管理技術を用いてデータを組織化する方法を記述します。この種のデータモデルでは、関係モデルでの表と列、オブジェクト指向モデリングでのクラスと属性などを記述します。

理論的には、これらのデータモデルは、より概念的なデータモデルから導出されますが、システムの処理能力や利用パターンを考慮すると、概念的なデータモデルとは異なる場合があります。

データ分析は、データモデリングにおいて一般的に使われる用語ですが、その作業は、分析よりもむしろ総合に近いものです。データモデリングでは、データの冗長性を排除し、関連するデータ構造を関連付け、包括的な概念にまとめることを目指します。

また、適応型システム、例えば人工ニューラルネットワークを使った方法論も存在します。

データモデリングの技法



データモデリングには、いくつかの技法(方法論)が存在します。これらの技法は、データモデリングを行う際のガイドラインとなります。しかし、同じ技法を使用しても、異なるデータモデルが作成されることがよくあります。

データモデリングで使われる主な技法には、以下のようなものがあります。

バックマン線図
EBNF
実体関連モデル (ERモデル)
実体関連図 (ER図)
IDEF1X
統一モデリング言語 (UML)
オブジェクトリレーショナルマッピング
Relational Model/Tasmania (RM/T)
Barker's Notation
Business rules
Business rules approach
Object Role Modeling (ORM) / NIAM
Semantic data modeling

データモデリングは、情報システムの開発において不可欠なプロセスであり、適切なモデルを選択し、データを効果的に構造化することが、システムの成功に大きく影響します。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。