データモデルとは (3/3)

データモデルの二種類の流儀

 前ページまでで、データモデルとは帳票のひな形であること、業務で使用する個別具体的なデータモデルはドメイン・データモデルを継承してを策定すること説明しました。ここからは、個別のデータモデルには「目的別データモデル」とでも呼ぶべきタイプのものと、「多目的にデータモデル」と呼ぶべきタイプのものがある事を説明します。

目的別データモデル

 データモデルは「モノ」や「コト」の単位に策定され、それらのモノとコト同士は「関係」で結ばれていると説明しました。この目的は多様な目的でデータを活用できる様にするためでした。しかし、現実の業務では多様な目的で帳票を作成する事はあまりなく、目的ごとに帳票を作ります。これは、帳票に台帳のページ番号を書き込むよりも、必要な情報を帳票に書き込んだ方が帳票を受け取った側にとって便利だからです。

 本章の最初のページでは「防火対象物点検結果報告書」という帳票を例にとって説明しました。実際の業務では、他にも膨大な種類の帳票があります。例えば、以下は12条点検と呼ばれる業務で使われる帳票群のごく一部です。

人間用の帳票は、多くの場合帳票を受け取った側の利便性を考えて、必要な情報を一括して見る事が出来る様になっています。これらの人間用の帳票をそのままコンピュータ用の帳票(データモデル)に置き換えたものを、本ホームページの説明では「目的別データモデル」と記載しています。目的別データモデルは前ページのデータモデルの分類では一番下行のスペシフィケーションが該当します。

 以下、目的別データモデルの特徴を改めてまとめます。

  • 特定の目的に合わせて最適設計されています
  • 必要な情報が集められています。例えば前記の例では、報告者の情報・対象建物の情報・点検の情報・検査者の情報・受付プロセスの情報などが一括して確認できる様になっています
  • 特定の目的以外に情報を活用しようとすると、必要な情報が不足していたり、必要な情報がアチコチの帳票に分散していたりします
  • 情報に矛盾が発生しやすい。例えば、一部の帳票で住所が間違っていても、なかなか気が付きませんし、修正も難しいです

 これらの帳票をよく見ると、同じ情報がアチコチに出て来ます。また、報告者と検査者と所有者の様に、情報が違うけれど形式が同じものも多数散見されます。一方で、建物の情報を見ると、色々な帳票のアチコチに散在しています。このため、帳票を設計した当初の目的外に建築物などの情報を活用したいと考えると、色々な帳票をひっくり返して必要なな情報を探す必要があります。

 人間が使う帳票と同様にデータモデルも目的別データモデルが多用されています。特に表計算ソフトなどを使って人間が作業する事を前提としたデータは殆どが目的別データモデルで作成させていると思われます。

多目的データモデル

 目的別データモデルでできたデータを多目的に使う事はできるのでしょうか。その答えは「目的別データモデルの裏に潜んでいるドメインデータモデルを想像する事が可能あれば出来る場合がある」です。本章ではデータモデルはドメイン・データモデルを継承して作ると説明しましたが、実際にドメインデータモデルを継承しているとは思えない例もありますし、継承していたとしても元に戻せない最適化を実施してしまっている場合も多いからです。どの様な場合に出来ないのかについては後で順に説明します。

 ますば、多目的に使えるデータに変換できる例を示します。ここでは前出の12条点検の帳票を使います。下図の様に各帳票の項目を一旦バラバラにして、情報の内容ごとにひとまとめにしておくと、多目的に利用しやすくなります。この情報の内容ごとにまとめたデータモデルを共通データ仕様では文字通り「多目的データモデル」と呼んでいます。

図中で赤字で記載した項目が「関係」を示す項目です。この様に法人・施設・不具合をそれぞれ別々に台帳化して報告書には関係を示す項目をせていする事で多目的データモデルに変換する事が可能です。この変換が可能となる理由は、施設と所有者の関係などは帳票にその説明がなくても世の中の常識として理解できるためです。一般的にはモノやコトの相互の関係は関係者しか知らない場合があります。その様な場合にはその分野に精通する専門家の参画が必要となります。

 PPP共通データ仕様協議会が公開している共通データ仕様は基本的にはこの多目的データモデルになっています。但し、過去の実績などの統計情報を保存しておくためのデータモデルだけは、特定目的データモデルになっています。

 以下。多目的データモデルの特徴をまとめます。

  • 多目的に情報を活用できる設計になっています
  • 基本的に、土地・建物・法人・人などの「モノ」や事故・報告・検査などの「コト」に対応して作られます
  • 情報に修正が必要な場合、ひとつの帳票を書き換えるだけで済みます
  • (コンピュータにとっては何でもない作業ですが) もし人間が手作業で何かをしようとした場合、情報が複数の帳票に分かれているので、探す手間がかかります