» 概念データモデル、データモデルパターン

株式会社データ総研 データ総研のオンサイト教育
製品案内 DMBOK ITコンサルティングサービス ITコンサルティング事例 紹介セミナー 教育コース 技術情報 DRIブログ 会社概要
概念データモデル、データモデルパターン

先日、DAMAジャパン支部が企画したカンファレンスが開かれました。データモデルの世界ではグルの一人であるDavid C. Hay(以下ヘイ氏)が参加し、データモデルパターンについて解説してくれました。

講演やパネルディスカッションの中で概念データモデルについてもコメントがあり、EAで有名なザックマン氏のそれとは異なる見解を述べていました。

ヘイ氏は「ザックマン氏が言う概念モデルは具体的な業務を表すモデルであり、ザックマンフレームワークでいうと”概念層”ではなく”論理層”に位置づけるべきである」と主張していました。ヘイ氏の概念モデルはもっと抽象度が高いモデルで、どの企業に持っていっても対応可能な汎用性を持っています。講演の中ではレベル0とかレベル1のモデルとして登場しました。

ちなみに、ヘイ氏が紹介したレベルは、データモデルパターンの抽象度を表すレベルで、概ね次のような意味で階層化されています。

レベル0:テンプレートとメタデータ(WHO,WHERE,WHAT,WHEN,HOWを表すモデル)
レベル1:汎用的なエンタープライズモデル
レベル2:業務別詳細化モデル
レベル3:業界別サンプルモデル
ちなみに、レベル2と3の間にabstract(抽象的)⇔concrete(具体的)の関係はありません。

概念データモデルがどの程度の抽象度であるべきかについては、人によって見解が違っています。グローバルスタンダードがあるようで無い世界です。DAMA-DMBOKに記述されているから、ザックマン氏の定義がどこでも通じると思わない方が良いでしょう。アメリカ人のヘイ氏であっても、認めていないのですから。我々としては、多様な見解があることを認め、
「概念データモデルや論理データモデルについて話し合うときは、お互いの定義を確認しあう作業が必要だ」
と受けとめておけば良いと思います。どちらが正しいとか正しくないなどという議論は、一般のビジネス世界で仕事をしている我々には不毛な議論なので参加しないようにしましょう。

先日のカンファレンスに参加していた人の多くは、レベル0や1のデータモデルがあまりにも抽象的すぎて、その目的・意義が理解できなかったようです。「これらのデータモデルパターンを自社に持ち帰って何かに使えるような気がしなかった」と言い替えても良いでしょう。(そういった感覚は大切にすべきですね。)

一般企業における概念データモデル利用の目的は、現状業務を分析するフェーズや新規業務要件を定義するフェーズで、利用部門の人達とコミュニケーションすることです。従って、これらのデータモデルパターンが使えないと考えても当然です。

概念データモデルが果たすべき役割は、ビジネス世界で登場する「概念」を整理し、個々人が物事に対して持つ理解の特殊性を排除または正しく位置づけることです。この結果得られる、業務で統一された「概念」の定義が、仕事に関わる人達の共通理解を促し、業務品質を上げることにつながります。(ちなみに、この文章は理解するのが難しいので「概念」を「ことば、あるいはことばが指し示す意味・内容と置き換えて読み直してください。「概念」を端的に表しているのが、普段使っている「ことば」だからです。)

普段使っていることばがエンティティ名として登場しない概念データモデルは、利用部門とのコミュニケーションには使えません。データモデルテンプレートを外から買ってきて、手早くデータモデルを作成しようというプロジェクトの多くは、予定をはるかにオーバーする期間と工数を投入し、ゼロからやるのと大差ないという結果になりがちです。

 

追記
・「アメリカ人のヘイ氏であっても、認めていないのですから。」
 という文言に関して、誤解されている方もいるようですので説明を追加します。

まず、「ヘイ氏がザックマン氏を認めていない」と記述しているわけではありません。そのようなことは先日のカンファレンスで発言されていません。

先日のカンファレンスにおけるパネルディスカッションの際、最初にモデレータから
「アメリカでは概念モデルを中心にデータモデルが語られているが、日本はどうも違うようだ。もっと物理に近いところの話をしているのではないか」
との問題提起で議論がスタートしました。私は、この問題提起に対してヘイ氏がアメリカの状況を語るものだとばかり思っていましたが、突然、「概念」「論理」の定義に関してヘイ氏の持論を展開し始めました。つまり、EAの中で定義されている「概念」「論理」を前提として議論を進めることに「何か抵抗があった、何か不充分だと思っていた」あるいは「自分の定義の方が正しいと思っていて、それを会場のみんなと共有したかった」ということではないかと受けとめています。正直なところ、私は「なぜテーマと関係なく別な話に時間をとるのだろうか?」と不思議に思ったくらいです。もし、EAの「概念」「論理」の定義でも良いと認めていたならば、そのまま中身の議論に入っていたはずだ、と私は思うのです。

データ総研 コンサルタント