「歴史的問題」からデータモデルを考える:ゼロからのデータモデリング入門(1)(1/2 ページ)
ビジネスの変化に強いシステム構築を実践する上で必要となる「データモデリング」。この連載では、データモデリングの基本的な考え方とデータモデリングの必要性と使い方について解説します。本連載を通して、データモデリングの本質をとらえ、皆さんの企業においてどのようにデータモデリングに取り組んでいくべきかのヒントになれば幸いです。
データモデリングとは何か?
データモデリングという言葉の中にある「モデリング」とは、ある一定のルールに基づきモノや事象(コト)を整理する技法のことをいいます。モデリングを行うことで物事が整理されていくため、新たな発見や現状の再認識などが容易に行えるという大きなメリットがあります。
データモデリングは「データ」を「モデリング」する技法、つまり、「データ(対象となるモノや事象)」を一定のルールに基づき整理していく手法です。一般的にシステム開発には「要件定義」「基本設計」「詳細設計」「システム開発」「テスト」「移行」「運用・保守」という大きな工程がありますが、このデータモデリングという技法が必要となるのは「基本設計」工程です。基本設計工程の「データベース設計」段階においてデータモデリングを実施し、出来上がったものが「データモデル」となります。
このデータモデルは、ほかのメンバーと相互理解を深めるためのコミュニケーションツールとして利用することができ、コミュニケーションを通じてよりよいシステム構築が可能になります。
筆者の所属する会社では、「ビジネス視点のデータモデル」を提唱しており、ERでビジネスプロセスを表記する方法論を提供しています。この方法の利点は、ビジネスプロセスとデータモデルが同期できるため、ビジネスプロセスの可視化が、そのままデータモデルでも可視化になるという点です。詳細は次回以降、本連載中で紹介していきます。
昨今のシステム課題からみるデータモデリングの必要性
ここ2〜3年、データモデリングに関して、顧客から支援要請を受ける機会が増えています。
筆者が遭遇した案件から、データモデリングが必要となる背景、システム課題にはいくつかの共通した傾向が見られます。まとめると以下のようになります。
−基幹システムの再構築
メインフレーム、オフコン、クライアント/サーバシステムなど、さまざまなシステム環境下で数年間利用してきたものの、ビジネスで要求される内容の変化に即座に対応できず、やむなく再構築に迫られているケースです。
共通する課題は、アプリケーション単位でシステム構築を行ってきた結果、アプリケーションに依存したデータ構造となっていて、自社のビジネス機能全体(販売、製造、会計など)を表現したデータ構造にはなっていないという点です。
−グローバル対応のシステム構築
日・米・欧などグローバルにビジネス展開をしている企業に多く見受けられる。基幹系システムとしてはERPパッケージなどを導入して共通化を図っているものの、地域間を「串刺し」にした横断的なシステム情報の取得ができないというケースです。
ERPを導入しさえすれば、ワールドワイドでデータ活用が可能だと思われるかもしれませんが、SCM(サプライチェーンマネジメント)などは共通化できても、販売や製造など地域性を考慮する必要があるものについては地域ごとに独自の仕組みになっているケースがほとんどです。従って、販売、製造、会計などのデータを活用しようとしても、各国のコード体系注1の違いや独自に保持しているデータ構造などにより実現が難しくなっています。
このような理由から、企業全体を俯瞰(ふかん)したデータベースの構築をするために、データモデリングの必要性が高まっている状況といえます。
注1)SCMに絡むコードに関しては統一できたが販売系の地域コードなどローカルルールが存在するものに関してはコードの統一化ができないなど。
−統合データウェアハウス(DWH)構築
以前のデータウェアハウス(DWH)は、各事業部、部門を中心として、現場の業務効率向上を目的とした構築がほとんどでした。このため、部分最適の情報活用の仕組みはできているものの、企業における全体最適のDWHという観点では対応ができないケースです。
現場(部門)中心の情報活用から経営層を含む企業全体の情報活用へのシフトにより、企業全体のデータ整理や情報マネジメントが必要とされています。
これらはほんの一例ですが、こうしたシステム課題に直面している企業は多いと筆者は感じています。
システム開発の歴史から考えるデータのありかた
システム構築において、なぜいま、データモデリングが必要となっているのでしょう。これを理解するためにシステム開発の歴史的背景を追ってみましょう。
データモデリングを理解するうえでは、いままでの発想からの転換が必要であり、発想の転換を行うためには、システム開発の歴史的背景を知ることは大きな意味があります。基礎知識習得という意味で少しお付き合いください。
ホストコンピュータの時代
1970年代からのホストコンピュータ時代に、数多くのシステム開発が行われてきました。当時のシステム開発は、現状の業務をいかに簡素化(効率化)するかが目的であり、業務の効率化を図るためのデータベースとして採用されたのが「階層型データベース」や「ネットワーク型データベース」です。
−階層型データベース
階層型データベースは、文字どおり、データの関係性をツリー構造で定義し、プログラムからは、ツリー構造の定義を利用してデータへアクセスを行います。
つまり、データへのアクセスパスはツリー構造1つにつき1通り存在します。階層型データベースでは異なるツリー構造を作るたびにデータ重複が発生し、データの冗長化が問題点となっていました。
−ネットワーク型データベース
ネットワーク型データベースは、階層型データベースのデータ冗長化を排除したデータベースです。データをノード単位で整理してデータの独立性を高め、データ間の関係性を定義します。しかし、ネットワーク型データベースでは、データ間の関係性が複雑に絡み合うためデータのネットワーク構造を容易に変更できないという問題がありました。
業務処理の効率化を目的とした場合、業務処理単位でデータ処理を行うことができる階層型/ネットワーク型データベースはシステム開発者にとってハンドリングしやすい構造でした。また、これらのデータベースは、複雑な設計を伴わないため、普及促進に大きく貢献しました。
Copyright © ITmedia, Inc. All Rights Reserved.