データモデリング入門|むずかしい専門用語もわかりやすく解説

コラム
データサイエンスデータ分析

経営の三大資源であるヒト、モノ、カネに加え、「データ(情報)は4つ目の重要資源である」という認識が広く浸透しました。いまや多くの企業が、データを軸にした経営=データドリブン経営の実現を目指しています。

ところが、資源としてのデータの価値を理解しつつも、「データモデリングの重要性」に気づいている企業は、そう多くはありません。

そこでこの記事では、「データモデリング入門」として、難しい専門用語を平易にしながら、データモデリングをわかりやすく解説しています。データモデリングは正しいデータ分析やデータの整理に欠かせない概念・作業なので、ぜひ参考にしてみてください。

データモデリングとは

企業が保有しているデータは、組織のあちこちに点在しています。たとえば、人事部門には社員情報やそれに紐づけられた人事評価データ、営業部門には顧客情報や案件データなどがあります。これらはすべて、企業にとって重要な資源です。

資源とは「生産活動のもとになる物資」であり、「データ=石油」と形容すればわかりやすいと思います。

石油はそのままでは使えないので、精製してガソリンなどの燃料に変換したり、プラスチックに変えたりして、生活物資として消費します。

データも同じです。各部門からデータを吸い上げるだけでは使えません。石油を精製するようにデータクレンジングを行い、データを加工し、さらに分析して、はじめて価値を持ちます。

しかし、データ分析を行うにあたって、データの吸い上げやクレンジング以前に大切なのが「データモデリング」です。

モデリング=視覚化、図式化

モデル(model)は日本語で「手本、模型」などの意味があります。つまりモデリング(modeling)とは、「(手本や模型を)造形する」という意味です。

「何をモデリングするか?」によって、その意味が異なります。グラフィックデザインの世界では、3Dデザインを作成することをモデリングと呼びます。

では、データ分析の世界では何をモデリングするかというと、各データベースが保存するデータの種類や量、さらにはデータベース同士の関係などを視覚化・図式化します。

データをモデリングする

「データモデリング」という言葉は難しく聞こえがちですが、前述のように、各データベースが抱えるデータと、それらの関係を視覚化・図式化する作業のことです。「データの設計図を作る」と、シンプルに考えていただいて問題ありません。

設計図とは、造形や建築の参考にするための図面です。無数の直線や曲線が混ざり合い、さらには造形や建築に必要な各種情報が記されています。

データモデリングで作成する設計図も、同じようなものです。直線や曲線、各種情報を記すことで、データベースの構築を助けるために使われています。

ちなみに、データモデリングによって完成したデータベース設計のことを、「データアーキテクチャ(データの構造)」と呼びます。

データモデリングはなぜ重要なのか

仕事における準備と作業の比重を、「段取り八分(準備が8割)」という言葉で表すことがあります。データ分析でも同じことが言え、データの分析・解析などは残りの2割に当たる作業です。

一方、データモデリングは「準備の8割」に含まれる部分であり、正しいデータ分析のためには欠かせません。具合的になぜ重要なのか、5つの理由を解説します。

データの収集、保存、処理を効率よく行うため

前述のように、データは組織内に点在しています。

ERPのような統合的なデータベースをすでに築いている場合を除き、データ分析を行うためには、複数のデータベースから必要なデータを収集、保存、処理しなければいけません。

これらの作業を効率よくするためにもデータモデリングを行い、データの所在、種類、量、データベースとの関係、さらには処理プロセスなどを明確にする必要があります。

データベース開発の正確性・効率性を高めるため

企業が生成する膨大なデータを保管するデータベースは、信頼性の高いものでなければいけません。信頼性の低いデータベースは業務効率を阻むばかりか、ビジネスに混乱をもたらす可能性もあります。

信頼性の高いデータベースを開発するには、開発段階から作業の正確性を確保する必要があります。かといって、時間とコストを無限にかけられるわけではないので、正確性に加えて効率性も必要です。

こうした、データベース開発における正確性と効率性を確保し、高めるためにも、事前準備にあたるデータモデリングが欠かせません。

開発と運用のコミュニケーションを円滑にするため

データドリブン経営の基盤になるデータベースは、定期的な改善と継続的な運用を行います。

一般的に開発と運用は異なるチームが担当するため、両者の共通認識として機能するデータアーキテクチャが必要です。

データアーキテクチャによって開発と運用のコミュニケーションを円滑にできれば、ビジネスの変化に応じてデータベースの役割や処理プロセスを、柔軟に変えられるようになります。

組織全体でシステム設計の一貫性を保つため

データモデリングを行うと、組織全体でデータアーキテクチャとシステム設計に一貫性を保てるようになります。

逆に、一貫性を保てず、データアーキテクチャとシステムが分断している企業では、処理の遅延、ビジネスの鈍化、データ分析を間違った方向へ導くなど、ビジネスにとって致命的な問題が起こる可能性があります。

システム設計の一貫性を保ったり、統合型データベースを構築したりするのは、数年前なら「IT業界のトレンド」として片づけられていました。しかし現在は、日ごとスピードが増すビジネス変化に対応するための必須課題です。

持続可能なデータベースを実現するため

「持続可能なデータベース」とは、開発や運用、データ分析に携わるチームメンバーが変わったり、あるいは増えたりしても、信頼性を確保しながら継続して最適化し続けられるデータベースのことです。

従来のようにSIerに頼ったデータベース構築でこれを実現できないのは、データベースアーキテクチャや、それにかかわる技術がブラックボックス化しているためです。SIerとしては顧客が流出しないための当然の経営戦略なのですが、結果として多くの企業が、このブラックボックス化に苦しめられています。

持続可能なデータベースを構築するためにも、自社のデータモデリングをあらためて実施し、データベースを含めたシステム全体の設計を見直さなければいけません。

データモデリングの種類

データモデリングには、概念データモデル、論理データモデル、物理データモデルの3段階があります。一つずつ解説します。

概念データモデル

概念データモデルとは、「データの全体像」を表すためのデータモデリングです。データの全体像を構成する一つひとつの要素のことを「エンティティ」と呼びます。

急に専門用語が飛び出して難しく感じるかもしれませんが、「エンティティ=データの大分類」と考えてください。これらエンティティの整理と、それぞれの関係をモデリングするのが概念データモデルです。

概念データモデル=データの大分類とそれらの関係性をモデル化したもの

論理データモデル

論理データモデルは、概念データモデルで整理したエンティティを、さらに細かく整理していきます。エンティティをさらに細かく整理した情報のことを、「アトリビュート」と呼びます。

実際のデータモデリングでは、エンティティとエンティティ同士の関係、アトリビュートをさらに細かくモデリングします。

論理データモデル=エンティティとエンティティ同士の関係やアトリビュートをさらに細かくモデル化したもの
論理データモデル=エンティティとエンティティ同士の関係やアトリビュートをさらに細かくモデル化したもの

物理データモデル

物理データモデルでは、ここまで整理したエンティティとアトリビュートを、データベース設計へと落とし込んでいきます。さらに具体的に言うと上記で整理したデータを、「データベースのテーブルでどのように管理するか」を定義します。

データベースではアトリビュート名を、「顧客コード」のように日本語で登録できません。そのため「customer_id」のように、英語に変換するのが一般的です。

物理データベース=論理データベースで整理したデータをデータベースのテーブルでどのように管理するかを定義したもの
物理データベース=論理データベースで整理したデータをデータベースのテーブルでどのように管理するかを定義したもの

また、どのデータをどのデータベースで管理するのか、システム同士のつながりはどうなるかなどを整理するのも、物理データモデルの一部です。

データモデリングを行う手順

データモデリングを行う際は、一般的に浸透している手順で行うのが、確実かつ効率的なやり方です。ここでは、データモデリングを行う手順について、シンプルに解説します。

1. エンティティとその関係を表す

最初のステップとして、エンティティとその関係を表します。前述した「概念データモデル」の部分にあたります。このとき使用するのが「ER図(Entity Relationship Diagram)」です。たとえば、ER図は次のように作成します。

ER図
出典:若手プログラマー必読!5分で理解できるER図の書き方5ステップ | NTTコミュニケーションズ
https://www.ntt.com/business/sdpf/knowledge/archive_50.html

ER図を作成する際は、「IE記法」または「IDEF1X記法」のルールに従うのが一般的です(記法の違いは割愛します)。

IE記法
IE記法
IDEF1X記法
IDEF1X記法

いずれかのルールにしたがうのは、「関係者間でデータアーキテクチャを共通認識として扱うため」です。ER図の作成ルールがバラバラでは、作業効率が下がるだけでなく、認識の相違が生まれ、間違ったデータベース設計を行ってしまうリスクがあります。

2. アトリビュートリストを作成する

続いて、各エンティティに対するアトリビュートリストを作成します。前述した「論理データモデル」における、アトリビュートを整理するためのステップです。

アトリビュートリストを作成する時に意識すべきなのが、「MECE(Mutually、Exclusive、 Collectively、 Exhaustive)」です。日本語にすると「漏れがなく、ダブりがない」という意味で、データを整理すべき現場では常に意識されています。

各エンティティのアトリビュートに漏れやダブりがあると、「データベースが上手く機能しない」「システムの目的を果たせない」「十分なデータ分析が行えない」などのトラブルが生じます。

細かい作業であり、かなりの時間を要しますがMECEを意識したアトリビュートリストの作成は、信頼性の高いデータベースに欠かせない準備です。

3. データモデリング手法を決める

データモデリングには、以下のように代表的な手法が3つあります。

リレーショナルデータモデリング古典的ですが、シンプルな記述により今もなお一般的に使われているモデリング手法です。構造化データをモデリングするのに適しています。
階層型データモデリングエンティティの関係をツリー型に記述するモデリング手法です。親エンティティと子エンティティは「1対n」の関係にあり、特定のデータベース処理を高速化したいときに用いられます。
グラフデータモデリングエンティティに親と子の概念がなくても、「1対n」または「n対n」の記述ができるモデリング手法です。AI開発や機械学習にも用いられています。

データモデリングの目的や、データを通して達成したいビジネス目標などに応じて、適切な手法を選ぶことが大切です。

4. 物理データモデルを作成する

最後に、物理データモデルを作成します。ただし、データモデリングは「物理データモデルを作って終わり」ではありません。

前述のように、データドリブン経営の基盤になるデータベースには、「定期的な改善と継続的な運用」が欠かせません。つまり、物理データモデルには、常に「最適化」が求められます。

物理データモデルを作成するまで長いプロセスを経たからといって、完成したデータアーキテクチャが正解とは限りません。

データを活用してビジネス目標を達成するためには、定期的な最適化により、物理データモデルを正解に近い状態に維持・改善し続ける必要があるのです。

結局、データモデリングとは何なのか

さて、ここまでデータモデリングの概要と重要性、種類、そして手順を解説しました。これからデータ分析にかかわるビジネスパーソンの中には、「結局データモデリングって何なの?」というシコリが残っている方もいるでしょう。

しかし難しいことはありません。結局のところ、データモデリングとは「データベースを設計すること」です。

データモデリングの技術的な部分はデータサイエンティストやデータベースエンジニアの担当領域です。しかし、ビジネスパーソンとしてデータ分析に携わる方が、上述したような基本知識を知っておくことで、コミュニケーションが円滑になり、よりビジネス成果につながるデータベースの構築ができるでしょう。

日頃の業務を振り返りながら、あるいは必要なデータを想像しながら、良いデータアーキテクチャを作るためにデータサイエンティストやデータベースエンジニアと協力関係を築いていきましょう。

この記事を読んだ方におすすめの記事