論理データモデルと物理データモデルの違いは何ですか?
論理データモデルと物理データモデルは、データ設計における 2 つの重要なステップです。データモデリングとは、さまざまな利害関係者が組織のデータを一元的に把握できるようにする視覚的表現またはブループリントを作成するプロセスです。まず、概念的なデータモデリングから始めます。概念的なデータモデリングでは、データエンティティ、属性、およびビジネスユーザーからの入力との関係を高度で抽象的に表現します。
論理データモデルは、概念モデルのより洗練されたバージョンです。プラットフォームに依存しない方法で実装するためのデータ制約、エンティティ名、および関係を図式的に表します。物理データモデルは、特定のデータベーステクノロジーに実装するための論理データモデルをさらに洗練させます。論理データモデルと物理データモデルは、データの構造、編成、ルールを定義して、効率的な保存、検索、操作をサポートします。
表現:論理データモデルと物理データモデル
論理データモデルと物理データモデルはどちらも、ビジネス要件を物理データベースに正確に表現するためのツールです。ビジネスの視点を維持しながらデータベース設計をサポートするために、さまざまなレベルの技術的詳細を提供します。
論理データモデルの表現
論理データモデルを使用すると、ビジネスアナリストやデータアーキテクトは、業務プロセスやトランザクションプロセスをエンティティリレーションシップダイアグラムで視覚化できます。論理データモデルは、ビジネス関係者が理解できる方法でデータオブジェクトがどのように機能し、処理するかを定義します。そのため、後でデプロイされる実際のデータベースとは独立して設計されています。
次の図は、スポーツチケットシステムの論理データモデルの例を示しています。
各表では、データエンティティとそれぞれの属性を、使い慣れたビジネス用語で説明しています。たとえば、エンティティパーソンには属性としてフルネームとラストネームが含まれています。 すべてのエンティティについて、各行の属性を区別するプライマリキー (PK) を指定します。一部のエンティティには、1 対多リレーションシップにある別のエンティティとの関係を示す外部キー (FK) が含まれています。
物理データモデルの表現
物理データモデルは、データベース管理者や開発者が物理データベースにビジネスロジックを実装するのに役立つ詳細な情報を提供します。これらのモデルには、トリガー、ストアドプロシージャ、データ型など、論理データモデルでは指定されていない追加の属性があります。物理データモデルはデータ要素を実際のデータベースにマッピングするため、命名規則や予約語の使用など、プラットフォーム固有の制限に従う必要があります。
次の図は、同じスポーツチケットシステムの物理データモデルの例を示しています。
物理データモデルでは、保存されているすべてのデータオブジェクトのデータ型を指定します。また、プラットフォームがサポートする形式を使用するようにエンティティ名とアトリビュート名を修正します。
設計方法:論理データモデルと物理データモデル
論理データモデルと物理データモデルの両方を設計するには、ビジネス要件から実際のデータベース実装へのシームレスな移行を可能にする手順が必要です。論理データモデルは、特定のビジネスプロセスの概念データモデルを拡張したものです。物理データモデルは、データベース設計の論理データモデルをさらに洗練させます。
論理データモデルの作成
次の手順に従って、論理データモデルを構築します。
- 必要なすべてのエンティティとそれぞれの属性を決定します。
- 属性グループの固有の識別子として適切な PK を選択します。
- 運用要件に従ってデータモデルを正規化および非正規化します。
- データモデル内のさまざまなビジネスエンティティ間の関係を確立します。
- データエンティティとその関係を検証して、ビジネスロジックを正確に表現します。
個別のエンティティ間の関係を定義します。一部のエンティティは相互に直接関連付けられていますが、他のエンティティは共通のエンティティを介してリンクされている場合があります。通常は、それぞれの利害関係者と相談して、ビジネス要件に従ってエンティティが正しく接続されていることを確認します。また、一部のエンティティを複製し、他のエンティティを戦略的に 1 つのインスタンスに制限して、クエリ効率を高め、ストレージスペースを最小限に抑えることもできます。
物理データモデルの作成
物理データモデルを設計するには、次の手順に従います。
- ローカルデータモデルを、選択したデータベースプロバイダーのプラットフォームに合うように変換します。
- データエンティティをそれぞれのテーブルにマップします。
- 必要に応じて、データベーステーブルに PK と FK をマッピングして作成します。
- データベース構造が適切に正規化され、冗長データが削除され、データの整合性が向上していることを確認します。
- 関連するデータベース制約、ルール、パーティション、およびプログラム機能を追加して、アプリケーション開発をサポートします。
- 物理データモデルと論理データモデルを比較して、ビジネス要件が正しく変換されていることを確認します。
場合によっては、1 つのエンティティが複数のテーブルに分割されます。各テーブルには、論理データモデルの属性で指定された情報を格納する複数の列が含まれています。物理データモデルでは、列は整数、varchar、Boolean などのデータ型によって区別されます。
主な相違点:論理データモデルと物理データモデル
論理データモデルと物理データモデルは、データモデリングプロセスの一部であるにもかかわらず、異なる特性によって区別されます。
目的
論理データモデルを使用すると、プロセスワークフローを技術的に構造化された方法で視覚化できます。さまざまなビジネスシステム間の関係を理解できます。
一方、物理データモデルは、実際のデータベーステーブルでデータがどのように編成されるかを記述します。アプリケーションが実際のデータをどのように保存し、アクセスするかをトップダウンで確認できます。
クリエイター
データアーキテクトやビジネスアナリストは通常、論理データモデルを作成します。開発者とデータベース管理者は、物理データモデルを実装する責任があります。
複雑さ
論理データモデルは、ビジネスデータオブジェクトの相互接続を定義するため、よりシンプルです。各データオブジェクトは、データエンティティとそれに関連する属性で構成されます。
物理データモデルはより複雑です。物理データモデルのデータ要素をテーブル、列、インデックスを使って整理し、プラットフォームの厳しい制約を満たします。物理データモデルのデータ構造は、カーディナリティや NULL 可能性など、より厳密な関係に縛られています。
使用する場面
論理データモデリングを使用して、エンタープライズシステム内の情報の流れを視覚化します。アナリスト、マネージャー、ビジネスユーザーは、特定のシステムの仕組みと該当するビジネスコンセプトを理解できます。
アプリケーション開発者は、本番環境で使用するアプリケーションを構築する際に、物理データモデルを使用してデータストレージを計画および最適化します。物理データモデルは、リレーショナルデータベースにデータを保存するためのブループリントです。
相違点の要約:論理データモデルと物理データモデル
論理データモデル |
物理データモデル |
|
プラットフォーム依存データベース |
いいえ。 |
はい。 |
データ構造 |
エンティティ、属性、PK、および FK |
データベーステーブル、行、PK、FK、およびデータ型。 |
プログラム機能 |
いいえ。 |
トリガーとストアドプロシージャ。 |
目的 |
データ構造を使用してビジネスロジックを視覚化します。 |
データベース設計のためのデータ構造を整理します。 |
クリエイター |
ビジネスアナリストとデータアーキテクト。 |
ソフトウェア開発者、プログラマー、およびデータベース管理者。 |
複雑さ |
シンプル。 |
複雑。 |
使用する場面 |
企業システムとビジネスルールを理解する。 |
アプリケーションを開発する際に、データストレージを計画、実装、最適化すること。 |
AWS はお客様の論理データモデルと物理データモデルにどのように役立ちますか?
Amazon Web Services (AWS) データベースには、さまざまなデータモデルをサポートする 15 を超えるデータベースエンジンが含まれています。たとえば、Amazon Relational Database Service (Amazon RDS) を利用してリレーショナルデータモデルを実装し、Amazon Neptune を利用してグラフデータモデルを実装できます。
より高速で簡単なデータモデリングのために AWS Amplify DataStore を利用して、モバイルおよびウェブアプリケーションを構築することもできます。関係を使用してデータモデルを定義するための視覚的なコードベースのインターフェイスがあります。これにより、アプリケーション開発が加速します。
AWS でデータモデリングを実行する方法は次のとおりです。
- Amazon RDS では、Amazon Aurora MySQL 互換エディション、Amazon Aurora PostgreSQL 互換エディション、SQL サーバー、およびその他の一般的なデータベースエンジンを使用してデータベースを構築およびスケーリングできます。
- Neptune を使用すると、1 秒あたり 100,000 件を超えるクエリを処理できる可用性の高いグラフアプリケーションを構築できます。
- Amplify Datastore は、クラウド上のデータを簡単にクエリ、更新、ソート、またはフィルタリングするために使用できるクライアントライブラリを提供します。
今すぐアカウントを作成して、AWS で論理データモデルと物理データモデルを使い始めましょう。