共通データ仕様の基礎知識 (2/5)

特定目的のデータモデル

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

人間用の帳票は、多くの場合帳票を受け取った側の利便性を考えて、必要な情報を一括して見る事が出来る様になっています。これらの人間用の帳票をそのままコンピュータ用の帳票に書き換えたものを、本共通データ仕様では「特定目的のデータモデル」または少し短く省略して「特定目的データモデル」と記載しています。

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

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

特定目的データモデルから多目的データモデルへの変換

 これらの帳票をよく見ると、同じ情報がアチコチに出て来ます。また、報告者と検査者と所有者の様に、情報が違うけれど形式が同じものも多数散見されます。一方で、建物の情報を見ると、色々な帳票のアチコチに散在しています。このため、帳票を設計した当初の目的外に情報を活用したいと考えると、色々な帳票をひっくり返して必要なな情報を探す必要があります。そこで、各帳票の項目を一旦バラバラにして、情報の内容ごとにひとまとめにしておくと、多目的に利用しやすくなります。この情報の内容ごとにまとめたデータモデルを「多目的のデータモデル」または「多目的データモデル」と呼んでいます。

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

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

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

共通データ仕様の特徴

■共通データ仕様は情報を多目的に利用できる事を意図しています

 既に述べたように、多目的データモデルを中心に策定しています。

■csvなどの良く使われる形式と親和性があります

 共通データ仕様として策定したデータモデルは基本的に2階層のデータモデルです。2階層とは、項目名に項目に登録する用語や数値が対応している形式の事です。csvも項目名に値が対応している2階層なので、機械的な変換がある程度可能です。ここで「ある程度」と表現したのは、例えば、以下の様な場合は変換に工夫が必要なためです。

  • 前記の例の「年月日」の様に、標準的ではない形式で値が登録されている場合は変換が必要です
  • 前記の例の「氏名」の様に、ひとつの項目なのに複数の情報が入れ込まれている場合、何らかの変換プログラムが必要です
  • 項目名の対応付けが必要です

これらの他にも変換が必要な場合は幾つもあると思いますが、できる限り機械的な変換が可能な様にデータモデルを策定しています。

■帳票は複数に分けて登録する事が可能です

 人間向けの帳票は必要な情報が一括して登録されているのが普通ですが、コンピュータ用の帳票は複数回に分けて登録する事が可能です。例えば、前記の例では、まずは対象となる建物の情報を登録しておいて、点検者の情報は後から追加する事が可能です。また、人間のための帳票に出てくる項目だけをその都度登録する事も可能です。但し、その際に「帳票番号」を一致させておくことが条件です。コンピュータは帳票番号(共通データ仕様では”id”と”type”と言う項目)が一致していると、同じ帳票だと解釈してくれます。

■よく使われる項目はデータパーツにしてあります

 前記の帳票でも住所や所在地と言う項目は合計10ヶ所以上の場所に出て来ます。この様に多くの帳票で使われる項目の定義がバラバラだと使いにくい帳票になってしまいます。そこで、共通して使われる項目を「データパーツ」として定義してあります。

「項目に登録する用語の定義」とは

 例えば空調の設備に関する帳票があり、その帳票の項目に「設備の種類」という項目があったとします。その項目に登録する用語はエアコンに関して考えても、「エアコン」の他に「エアーコンディショナー」「空調」「空気調和設備」など複数の候補があります。この様な場合に「皆で『空調』と記入する事にしよう!」と決めているのが「項目に登録する用語の定義」です。

 データモデルは多くの場合多少の違いは相互に変換可能ですが、用語の変換は変換が難しい場合が多いです。例えば前記ののエアコンの場合、業務用では室外機・室内機・全熱交換器などの複数の部分から構成されています。これは、エアコンに限らず、水道設備やトイレなどでも同様です。この様に、どの程度の粒度で用語を登録するのかも決めてあるのが用語の定義という事になります。

 従って、本データ仕様に準拠しようとする場合には、本データ仕様の用語定義を利用するか、自社内で使用する用語の定義を本データ仕様より細かく定義しておいて変換するなどの考慮が必要となります。

用語の追加

 現在定義してあり用語は全てを網羅している訳ではありません。前出の例のエアコンでも、新型コロナの経験で、近頃はCO2センサが付けられる場合があります。メーカによっては人感センサや床温度センサもあるようです。この様に日進月歩で用語は増えていきます。もし新たな用語が必要になったら、コメントを発信して、追加してください。