前回は、データ中心アプローチ(DOA)思想から、情報を生み出す基となる「データ」を管理することの重要性についてお話ししました。情報システム部門の命題ともいえる「信頼性の高いデータの管理とデータの供給」の実現には、「データベース設計」が非常に重要になります。今回は、データベース設計のメリットと重要性についてお話をします。
昨今データベース設計は情報システム部門の必須スキルとしてさまざまな会社で教育コースなどが開催され多くの方が受講されています。「データベース設計」のためのスキルはRDBMSを実装するうえで必要不可欠ですが、多くの企業が多額の研修費をかけるのには理由があります。
前回の「ゼロからのデータモデリング入門(2)」でも述べましたが、情報システム部門の大きな責務は「信頼性の高いデータ管理とデータ供給」であり、これを実現するのがデータベース設計だからなのです。そのため、自社のビジネス上必要となるデータを明確にして管理、運用しやすいように構造を整えていくデータベース設計スキル(技法)をお金をかけてでも習得させたいのです。
前述のとおり、データベース設計技法は、単にRDBMSへ実装するための技術習得ではなく、会社が管理すべきデータは何であるかを判断し、ビジネス活動とデータの関係性を一致させるために必要となる技法です。そのため、ビジネス活動を理解している自社内の人がデータベース設計を行わなければなりません(筆者が職場で実施しているデータモデリングサービスも、この考えに基づき、ビジネス活動を理解している担当者の方を対象にコーチングスタイルによるノウハウの提供を行っています)。
自社で、データベース設計を行うことにより以下の効果を享受できます。
情報システム部門は、特定のチーム(組織)ではなく、会社全体のビジネス活動をサポートするチームです。その理由は、ヒト・モノ・カネの流れとともにデータも流れ、それを全社的にサポートする必要があるからです。異なる事業形態(A事業部は受注生産、B事業部は見込生産など)を持つ会社においても粒度の違いはあれ同様です。
自社でデータベース設計を行うことにより、会社全体を見据えたビジネス機能(経営計画、販売、製造など)で主要概念(受注、出荷、得意先など)をとらえ、全体最適の視点でモデル化することができます。
ビジネス変化に伴いシステムが陳腐化し、再構築が必要となった場合、ユーザーの要件定義だけでなく、データ構造の観点も取り入れてシステム化の対象範囲を検討する必要があります。自社でデータベース設計を行うことで、概念レベルで必要となるデータが明確になり、ユーザーの詳細な要求にとらわれることなく主要な機能を把握することが可能になります(新たに発生するデータと既存のデータで対応できるものが明確になります)。
データモデルは、E(エンティティ)とR(リレーションシップ)で表記されます。Eは企業が管理すべき対象(受注、出荷、得意先など)であり、Rはビジネスルールを表します。
管理対象とそのルールが図式化されるということはつまり、データモデルを見ただけでその企業がどのような活動を行っているのかがはっきりと読めてしまうのです。例えば、ビジネス活動として、「受注のあった顧客しか請求をしない」のと「受注のあった顧客と請求する顧客は異なる」というのでは、明らかにビジネスルールが異なるため、データモデルの表記も異なります。
このようにデータモデルを利用することにより、ユーザー部門にヒアリングするのではなく、議論を行うことができ、コミュニケーションミスを軽減してお互い認識の合ったシステム構築が可能となります。
また、ビジネス活動を表現したデータモデルを作成することにより、全体最適の視点で企業活動をとらえることができます。つまり、ビジネスとITをひも付けるデータモデルを作成するためにデータベース設計技法は重要なスキルなのです
システムの外部委託が進む中、データベース設計は、情報システム部門の存在意義を高めるために必要な技法ともいえます。
Copyright © ITmedia, Inc. All Rights Reserved.