データモデルとは何か?
データ・モデルとは、エンティティとその相互関係を表現したものです。 データ・モデルは、エンティティを図形で表し、エンティティ間の関係を矢印で表したダイアグラムとして表現するのが最も一般的です。
eコマース・ビジネスの場合、エンティティは商品、注文、顧客、顧客アドレスとなります。 注文は、1人の顧客と1つの顧客アドレスで構成され、1つまたは複数の製品を含むことができます。
データモデルはプロジェクトの初期段階で考案され、設計者、開発者、データサイエンティストなどが共有するモデルと言語を作成します。 データ・モデルは、より詳細なもの(例えば、データベース・スキーマ)へと発展させることができ、設計者、開発者、データベース管理者が、ソフトウェア・アプリケーションの要件と、どのようにデータにアクセスし、格納することができるかを理解するために使用されます。
データモデルはエラーを防ぐことができます。データモデルは、ソフトウェアアプリケーションが開発される前に、プロジェクト参加者がエラーや誤った仮定、誤解を特定するのに役立ちます。 開発者は、データベース設計者やデータベース管理者とのコミュニケーションや調整を行う際に、データモデルを参照する。 データモデルは、データがどのように保存され、アクセスされ、利用され、更新されるかを決定するのに役立ちます。
データモデルの種類
3種類のデータモデルには、高レベルのもの(概念データモデルなど)から詳細で具体的なもの(物理データモデルなど)まであります。
概念データモデル
概念データモデルは、エンティティとその関係を示しています。 概念データモデルの想定読者は、ビジネスサイドの非技術系ユーザーです。 これは、ビジネスによって決定されたエンティティと関係を示しています。
論理データモデル
論理データモデル エンティティやリレーションシップをより詳細なレベルで記述するが、特定のデータベースシステムとは関連しません。 論理データモデルの対象者は、技術スタッフ(データベース設計者、アプリケーション開発者など)であり、物理データモデルを作成するための基礎として使用されます。
物理データモデル
物理データモデルには、最高レベルの技術的詳細が含まれます。 これは、エンティティやリレーションシップが特定のデータベースシステムでどのように実装されるかを概説するものです。 リレーショナルデータベースシステムでは、エンティティを表すテーブルとフィールドを作成するために物理データモデルが使用されます。 技術スタッフがデータベースを作成し、管理するために使用します。
データモデリング・プロセス
典型的なプロセスでは、プロジェクトチームは概念データモデルから始まり、論理データモデル、物理データモデルと、それぞれのデータモデルを進めていきます。 エンティティの一貫性と関係は、各モデル間で維持されるべきです。
これらのタイプのデータモデルに加えて、階層型、リレーショナル型、ネットワーク型、エンティティ・リレーション(E-R)という4つの主要なアプローチがあります。
階層的データモデル
階層型データ・モデルはツリーのような形をしており、頂点にいくつかのエンティティ(つまり親)があり、子エンティティは頂点から下に向かって流れていきます。 Extensible Markup Language (XML)は、人間が読めたり機械が読めたりする形式で文書をエンコードするためのルールを定義したもので、階層的なデータモデルを採用しています。 XML文書にはルート要素があり、そのルート要素はそれに続くすべての要素の親(または祖先)となります。 XML文書の要素は、テキストと属性を持つサブ要素を含むことができます。
リレーショナル・データ・モデル
リレーショナル・データ・モデルは、テーブルの集合に基づいています。 各テーブルにはフィールドがあります。 テーブル間で共通するフィールドは、2つ以上のテーブルを “結合 “するために使うことができます。 リレーショナル・データ・モデルは、オラクルなどのリレーショナル・データベース・システムに実装されています。 構造化クエリー言語(SQL)は、クエリーを生成し、リレーショナル・データベースにデータを書き込むためのメカニズムとして広く使われています。
ネットワーク・データ・モデル
ネットワーク・データ・モデルは、エンティティとその関係を表現する柔軟な方法として設計されました。 階層データモデルのツリーベースの表現とは異なり、ネットワークデータモデルはエッジとノードを持つグラフを採用しています。 ネットワーク・データ・モデルでは、各エンティティが複数の親と子を持つことができます。
エンティティ関係(E-R)データモデル
エンティティ・リレーションシップ(E-R)データ・モデルは、エンティティとリレーションシップをエンティティ関係図で示すグラフィカル・アプローチを採用しています。 ダイアグラムは通常、エンティティを正方形または長方形で表し、それらの間に線を引いて関係を表します。 リレーショナル・データベースで実装する場合、テーブルの各行はエンティティ・タイプのインスタンスであり、テーブルの各フィールドは属性タイプのインスタンスです。