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

共通データ仕様に含まれる仕様の種類

 一般的にデータの仕様というと大きく分けて3種類の仕様が含まれています。ひとつ目はコンピュータ用の帳票の形式の定義、つまりコンピュータ用の帳票のひな形です。ふたつ目は、項目に登録する内容に対する各種規定や制約事項。最後はコンピュータ用の帳票間の関係です。

 これに対して共通データ仕様では、理解しやすさを優先して記述を2種類に分けてあります。ひとつ目はコンピュータ用の帳票の形式の定義および定義した項目に対する”用語を除いた”規定や制約事項です。これをコンピュータ用の帳票の形式、またはデータモデル1と呼んでいます。ふたつ目は、データ項目に登録する用語を定めた用語の一覧です。帳票間の関係は帳票の形式の定義に含みます。なぜ用語を分けたかと言うと、用語は紙やpdfの帳票であっても重要なためです。言い換えると、用語はすぐに適用する必要があり、それ以外は徐々に適用範囲を広げていく事も可能です。尚、データモデルは、データモデル自身とデータモデルの部品である「データパーツ」の二つに分かれています。本Webページでは、それらが何者なのかについて少し詳しく説明します。

データモデルとは

 まずは、一般的な「データモデル」について説明します。データモデルとはコンピュータ用に作られた帳票のひな形の事です。帳票とは、紙(やpdfなど)に項目が並んでいるものですが、例えば請求書や住民票などの事です。ここでデータモデルの一例を示します。下図は、「放火対象物点検結果報告書」という人間向けに策定された帳票のひな形です。

 この様に、帳票には項目が並んでいます。但し、この帳票は人間向きに作られているので、コンピュータにとっては多少分かりにくい構造になっています。例えば、「届出者」の下に住所・氏名・電話番号という項目が並んでいますが、人間であれば届出者の住所であり氏名であり電話番号である事は自明ですが、コンピュータにとっては理解が難しい構造です。それをコンピュータ用の帳票に加工してみましょう。下図の左が元の人間用帳票、右がコンピュータ用の帳票です。この形式はJSON(ジェイソン)という形式です。

 この様に人間用の帳票とコンピュータ用の帳票には本質的には余り差はありません。見ると何となくわかりますよね。人間用の帳票では「届出者」はどの項目からどの項目までが該当するかは行頭の位置などから推定する必要がありますが、JSONでは括弧などで明確にくくってあるので、コンピューターでも理解が容易です。

 尚、赤字で「帳票番号」という項目が追加されていますが、これは一枚いちまいの帳票を識別するための名前(識別子)で、一般には”id”とか”ID”とか言われるものです。人間であれば、「先日○○さんから提出された・・・の帳票」と言えばどの帳票が分かりますが、コンピュータはそれほど器用ではありませんので、この項目を追加しています。この識別するための名前はどの様なデータモデルであっても必須だと理解してください。なぜ必須なのかは、おいおい触れて記載していきます。

  1. 「データモデル」という言葉は色々な使われ方をします。モノやコトに概念上存在する項目(属性)を列挙したものを指す場合、各項目の制約事項を加えたものを指す場合、データ仕様全体を指す場合、そして語彙と呼ばれるモノやコトを構成する基本要素を指す場合などもあります。 ↩︎