Articles

Data Modeling

データモデリングが抽象化を使用して企業情報システム内のデータフローの性質を表現し、よりよく理解する方法を発見

データモデ

データモデリングは、データポイントと構造間の接続を通信するために、情報システム全体またはその一部の視覚的表現を作成するプロセスです。 目的は、システム内で使用および保存されるデータの種類、これらのデータ型間の関係、データのグループ化および編成方法、およびその形式と属性を説明す

データモデルは、ビジネスニーズを中心に構築されています。 ルールと要件は、ビジネス関係者からのフィードバックによって事前に定義されるため、新しいシステムの設計に組み込まれたり、既存のシステムのイテレー

データは様々な抽象化レベルでモデル化することができます。 このプロセスは、利害関係者やエンドユーザーからビジネス要件に関する情報を収集することから始まります。 これらのビジネスルールは、具体的なデータベース設計を策定するためにデータ構造に変換されます。 データモデルは、ロードマップ、アーキテクトの青写真、または設計されているもののより深い理解を容易にする正式な図と比較することができます。

データモデリングは、標準化されたスキーマと形式的手法を採用しています。 これにより、組織全体、またはそれ以降のデータリソースを定義および管理するための共通の、一貫性のある、予測可能な方法が提供されます。

理想的には、データモデルは、ビジネスニーズの変化に伴って進化する生きた文書です。 彼らは、ビジネスプロセスをサポートし、ITアーキテクチャと戦略を計画する上で重要な役割を果た データモデルは、ベンダー、パートナー、および/または業界の仲間と共有することができます。

データモデルの種類

任意の設計プロセスと同様に、データベースと情報システムの設計は、抽象化の高いレベルで始まり、ますます具体的で具体的 データモデルは一般に3つのカテゴリに分けることができ、それらは抽象化の程度によって異なります。 プロセスは概念モデルから始まり、論理モデルに進み、物理モデルで終了します。 各タイプのデータモデルについては、以下で詳細に説明します。

  • 概念データモデル。 これらはドメインモデルとも呼ばれ、システムに何が含まれるか、どのように組織されるか、どのビジネスルールが関与しているかの全体像を提供し 概念モデルは、通常、初期プロジェクト要件を収集するプロセスの一部として作成されます。 通常、エンティティクラス(ビジネスがデータモデルで表現するために重要なもののタイプを定義する)、それらの特性と制約、それらの間の関係、関連す 任意の表記法は、一般的に単純です。
    概念データモデルの図
  • 論理データモデル。 それらはあまり抽象的ではなく、検討中のドメイン内の概念と関係についてより詳細に説明します。 いくつかの形式的データモデリング記法システムの一つに続いている。 これらは、データ型やそれに対応する長さなどのデータ属性を示し、エンティティ間の関係を示します。 論理データモデルでは、技術的なシステム要件は指定されていません。 この段階は、アジャイルやDevOpsのプラクティスでは頻繁に省略されます。 論理データモデルは、高度な手続き型実装環境や、データウェアハウスの設計やレポートシステム開発など、本質的にデータ指向のプロジェクトに役立ちます。
    論理データモデルの図
  • 物理データモデル。 これらは、データがデータベース内に物理的に格納される方法のスキーマを提供します。 そのため、それらはすべての中で最も抽象的ではありません。 これらは、エンティティ間の関係を示す連想テーブル、およびそれらの関係を維持するために使用される主キーおよび外部キーを含む、リレーショナルデータベースとして実装できるファイナライズされた設計を提供します。 物理データモデルには、パフォーマンスチューニングを含むデータベース管理システム(DBMS)固有のプロパティを含めることができます。
    物理データモデルの図

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

規律として、データモデリングは、骨の折れる詳細にデータ処理とストレージを評価するために利害関係者を招待します。 データモデリング技術には、データを表現するために使用されるシンボル、モデルのレイアウト方法、およびビジネス要件の伝達方法を指示する異な すべてのアプローチは、反復的に実行される一連のタスクを含む形式化されたワークフローを提供します。 これらのワークフローは、一般的に次のようになります。

  1. エンティティを識別します。 データモデリングのプロセスは、モデル化されるデータセットで表現されるもの、イベント、または概念の識別から始まります。 各エンティティは、他のすべてから凝集し、論理的に離散的でなければなりません。
  2. 各エンティティのキープロパティを識別します。 各エンティティタイプは、属性と呼ばれる1つ以上の一意のプロパティを持つため、他のすべてのエンティティタイプと区別できます。 たとえば、”顧客”と呼ばれるエンティティは、名、姓、電話番号、挨拶などの属性を持つことができますが、”住所”と呼ばれるエンティティには、通りの名前と番号、市、州、国、郵便番号が含まれる場合があります。
  3. エンティティ間の関係を識別します。 データモデルの最も初期のドラフトでは、各エンティティが他のエンティティと持つ関係の性質が指定されます。 上記の例では、各顧客は住所に「住んでいます」。 そのモデルが”注文”と呼ばれるエンティティを含むように拡張された場合、各注文は住所に出荷され、請求されます。 これらの関係は、通常、統一モデリング言語(UML)を介して文書化されます。
  4. 属性をエンティティに完全にマップします。 これにより、ビジネスがデータをどのように使用するかをモデルに反映させることができます。 いくつかの形式的なデータモデリングパターンが広く使用されています。 オブジェクト指向の開発者は、多くの場合、分析パターンやデザインパターンを適用しますが、他のビジネスドメインの利害関係者は他のパター
  5. 必要に応じてキーを割り当て、冗長性を削減する必要性とパフォーマンス要件とのバランスをとる正規化の程度を決定します。 正規化は、キーと呼ばれる数値識別子がデータのグループに割り当てられ、データを繰り返すことなくそれらの間の関係を表すデータモデル(およびそれらが表 たとえば、顧客にそれぞれキーが割り当てられている場合、顧客名のテーブルでこの情報を繰り返すことなく、そのキーを住所と注文履歴の両方にリンク 正規化は、データベースが必要とする記憶域領域の量を減らす傾向がありますが、クエリのパフォーマンスにはコストがかかります。
  6. データモデルを確定して検証します。 データモデリングは、ビジネスニーズの変化に応じて繰り返され、洗練されるべき反復プロセスです。

データモデリングの種類

データモデリングは、データベース管理システムとともに進化しており、企業のデータストレージニーズが高まるにつれてモデ 以下にいくつかのモデルタイプを示します。

  • 階層データモデルは、ツリー状の形式で一対多のリレーションシップを表します。 このタイプのモデルでは、各レコードには1つまたは複数の子テーブルにマップされる単一のルートまたは親があります。 このモデルは、1966年に導入されたIBM Information Management System(IMS)に実装され、特に銀行業で急速に広く使用されていました。 このアプローチは、最近開発されたデータベースモデルよりも効率的ではありませんが、Extensible Markup Language(XML)システムや地理情報システム(GISs)ではまだ使用されています。
  • リレーショナルデータモデルは、1970年にIBMの研究者E.F.Coddによって最初に提案されました。 それらは今日でも、エンタープライズコンピューティングで一般的に使用される多くの異なるリレーショナルデータベースに実装されています。 リレーショナルデータモデリングでは、使用されているデータストレージの物理的性質を詳細に理解する必要はありません。 その中で、データセグメントはテーブルを使用して明示的に結合され、データベースの複雑さが軽減されます。

リレーショナルデータベースは、データ管理のために構造化クエリ言語(SQL)を頻繁に使用します。 これらのデータベースは、データの整合性を維持し、冗長性を最小限に抑えるのに適しています。 これらは、販売時点管理システムや他のタイプの取引処理によく使用されます。

  • Entity-relationship(ER)データモデルは、データベース内のエンティティ間の関係を表すために形式的な図を使用します。 いくつかのERモデリングツールは、データベース設計の目標を伝える視覚的なマップを作成するためにデータアーキテクトによって使用されています。
  • オブジェクト指向データモデルは、オブジェクト指向プログラミングとして牽引力を得て、1990年代半ばに普及しました。 オブジェクトはクラス階層にグループ化され、関連付けられた機能を持ちます。 オブジェクト指向データベースにはテーブルを組み込むことができますが、より複雑なデータリレーションシップをサポートすることもできます。 このアプローチは、マルチメディアやハイパーテキストデータベース、その他のユースケースで採用されています。
  • 次元データモデルはRalph Kimballによって開発され、データウェアハウスでの分析目的のためにデータ検索速度を最適化するように設計されました。 リレーショナルモデルとERモデルは効率的なストレージを強調しますが、次元モデルは冗長性を高め、レポートと検索のための情報の検索を容易にします。 このモデル化は、通常、OLAPシステム全体で使用されます。

二つの一般的な次元データモデルは、データがファクト(測定可能な項目)と次元(参照情報)に編成され、各ファクトが星のようなパターンで関連する次元に囲まれているスタースキーマである。 もう1つはsnowflakeスキーマで、これはスタースキーマに似ていますが、関連する次元の追加レイヤーが含まれているため、分岐パターンがより複雑になります。

データモデリングの利点

データモデリングを使用すると、開発者、データアーキテクト、ビジネスアナリスト、およびその他の利害関係者が、デー さらに、次のことができます。

  • ソフトウェアとデータベース開発のエラーを削減します。
  • ドキュメントとシステム設計の一貫性を企業全体で向上させます。
  • アプリケーションとデータベースのパフォーマンスを向上させます。
  • 組織全体のデータマッピングを容易にします。
  • 開発者とビジネスインテリジェンスチーム間のコミュニケーションを改善します。
  • 概念的、論理的、物理的なレベルでのデータベース設計のプロセスを容易にし、高速化します。

データモデリングツール

多数の商用およびオープンソースのコンピュータ支援ソフトウェアエンジニアリング(ケース)ソリューションは、広く複数のデータモデリング、図案化および可視化ツールを含む、今日使用されています。 ここにいくつかの例があります:

  • erwin Data Modelerは、情報モデリングの統合定義(IDEF1X)データモデリング言語に基づいたデータモデリングツールで、次元アプローチを含む他の表記法をサポートしています。
  • Enterprise Architectは、企業情報システムやアーキテクチャ、ソフトウェアアプリケーションやデータベースのモデリングをサポートするビジュアルモデリング これは、オブジェクト指向言語と標準に基づいています。
  • ER/Studioは、今日の最も人気のあるデータベース管理システムのいくつかと互換性のあるデータベース設計ソフトウェアです。 リレーショナルデータモデリングと次元データモデリングの両方をサポートしています。
  • 無料のデータモデリングツールは、Open ModelSphereなどのオープンソースのソリューションが含まれています。

Data modeling and IBM Cloud

IBMの研究者は、最初の階層およびリレーショナル-データモデルを作成し、これらのモデルが最初に実装されたデータベースを設計した先駆者の一人でした。

今日、IBM Cloudは、SQLおよびNoSQLデータベースの豊富なポートフォリオと、その中のデータリソースを効率的に管理するために必要な開発者ツールをサポートする完全なスタックプラットフォームを提供しています。 また、IBM Cloudは、開発者がオブジェクト、ファイル、およびブロック-データ-ストレージを管理してパフォーマンスと信頼性を最適化するのに役立つオープン-ソー

IBM Cloud上のデータのモデリングについて詳しく知りたいですか? IBMidにサインアップし、今日のあなたの無料のIBM Cloudアカウントを作成します。