導入
コンピューター サイエンスにおけるデータ モデルは、ビジネス組織、情報システム、データベースでデータがどのように表現されるかを抽象的な方法で記述するモデルです。
このデータ モデルという用語には次の 2 つの意味があります。
- 理論的データ モデル、つまり形式的記述または数学的モデル。 データベースモデルも参照
- インスタンスデータ モデル。つまり、理論的データ モデル (データ モデリング) を適用してインスタンスデータ モデルを作成するモデル。以下を参照してください 。

理論的なデータモデル
コンポーネント
一般に、理論的なデータ モデルでは次のことが説明されます。
- データ構造: データがどのように編成されるかを定義します (階層、ネットワーク、リレーショナル、オブジェクト指向)。
- データ整合性:インスタンスデータ モデルのデータ整合性を維持するための暗黙的な言語またはルールを提供します。
- データ操作: データを作成、更新、削除するための言語を提供します。
- データ検索: データを検索するための言語を提供します。
たとえば、リレーショナル モデルでは、すべてのデータは数学的関係 (または、正確には、それをわずかに外挿したもの) によって表されます。制約を指定するための一般的な言語 (一次論理) があり、データ操作と研究のために、関係代数、タプル計算、ドメイン計算が導入されています。
このトピックに関する追加情報は、データベース管理システムにあります。
懸念レベル
データ モデル理論は通常、懸念のレベルを定義します。たとえば、MERISE メソッドやモデルで使用されるエンティティ関係モデル (SSADM、SDM/S) では、次のような懸念レベルを定義します。
各レベルのテンプレートの内容はメソッドによって異なる場合があります。
Zachmanアーキテクチャフレームワークにも、これら 3 つのレベルの懸念が含まれています。データは「何ですか?」という質問に対応します (Zachman フレームワークは総合的であるため、他に 5 つの側面があります)。
論理レベルと物理レベルは、 AGATEだけでなく DoDAF にも表示されます。 MODAF では、これらのレベルの懸念は明白には現れません。
アプリケーションのデータモデルを作成するためのツール
単純なデータ モデル (少数のテーブルまたはオブジェクトで構成されるデータ モデル) は「手動」で作成できますが、より複雑なモデルには、より体系的なアプローチが必要です。リレーショナル データベース モデリング コミュニティでは、エンティティ関係モデル手法を使用して、ドメイン固有のデータ モデルを確立します。 オブジェクト指向プログラミングコミュニティでは、データ モデルの作成には統一モデリング言語 (UML) が好まれます。 UML では、「クラス図」はエンティティ関係図と多くの類似点がありますが、 Rational RoseやEmbarcadero Describeなどのほとんどの UML ツールには、概念的、論理的、物理的なトレーサビリティをサポートする機能がありません。機能データ モデルやオブジェクト ロール モデリング(ORM) などの他の方法でも、データ モデルのサブセットまたは側面とそれに基づくアプリケーションを記述します。

