共通データ仕様に含まれる仕様の種類
一般的にデータの仕様というと大きく分けて3種類の仕様が含まれています。ひとつ目はコンピュータ用の帳票の形式の定義、つまりコンピュータ用の帳票のひな形(テンプレート)です。ふたつ目は、項目に登録する内容に対する各種規定や制約事項。最後はコンピュータ用の帳票間の関係です。
これに対して共通データ仕様では、仕様を利用する側の理解しやすさを優先して記述を2種類に分けてあります。ひとつ目はコンピュータ用の帳票の形式の定義および定義した項目に対する”用語を除いた”規定や制約事項です。これをコンピュータ用の帳票の形式、またはデータモデルと呼んでいます。ふたつ目は、データ項目に登録する用語を定めた用語の一覧です。帳票間の関係は帳票の形式の定義に含みます。なぜ用語を分けたかと言うと、用語は紙やpdfの帳票であってもPCやスマホに表示する画面であっても常に重要なためです。言い換えると、用語はすぐに業務全体に適用する必要があり、それ以外は徐々に適用範囲を広げていく事も可能です。尚、データモデルは、データモデル自身とデータモデルの部品である「データパーツ」の二つに分かれています。データパーツは住所など、色々なデータモデルに共通して出てくる定義をくくり出して部品集としたものです。本Webページでは、それらが何者なのかについて少し詳しく説明します。また、データモデルという言葉はデータの構造に関する記述全般を指す幅広い概念なのですが、まずはデータの入れ物に関する具体的な定義を指すと理解しておいてください。具体的なデータの定義という理解から始めて、おいおい説明の中で内容を広げていきます。
電子データ
まずは、「データモデル」の説明の前に電子データについて説明します。電子データとはコンピュータ用に作られた帳票の事です。帳票とは、紙(やpdfなど)に項目が並んでいるものですが、例えば請求書や住民票などの事です。ここで電子データの一例を示します。下図は、「放火対象物点検結果報告書」という人間向けに策定された帳票のひな形です。

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

人間用の帳票では「届出者」はどの項目からどの項目までが該当するかは行頭の位置で表現し、「防火対象物」という大項目のすぐ横に各項目を配置することで構造を表現しています。これに対しJSONでは、JSONでは波括弧で項目の構造や区切りを表現しつつ、各項目は項目名と項目の内容をコロンを挟んで並べて表現しています。
この様に人間用の帳票とコンピュータ用の帳票には本質的には余り差はありません。見ると何となくわかりますよね。
尚、赤字で「帳票番号」という項目が追加されていますが、これは一枚いちまいの帳票を識別するための名前であり、一般には”主キー“、”プライマリーキー”、”id”、”ID”などと言われるもので、一つひとつのデータにつけた名前や番号です。背番号の様なものだと理解して間違いありません。人間であれば、「先日○○さんから提出された・・・の帳票」と言えばどの帳票が分かりますが、コンピュータはそれほど器用ではありませんので、この項目を追加しています。この識別するための名前はどの様なデータモデルであっても必須だと理解してください。なぜ必須なのかは、おいおい触れて記載していきます。
データモデルとは
データモデルとは、データモデルとはコンピュータ用に作られた帳票のひな形(様式)の事です。具体的に見てみましょう。下図の右側は電子データつまりコンピューター用の帳票の再掲です。その左側がデータの定義、つまりデータモデルという事になります。この様に項目ごとに項目名とその項目に登録する情報の説明が書いてあります。この例では簡略化して書いていますが、この他にデータの種類。例えば文字列なのか数字なのかの区別や、いくつ情報を登録する事ができるのか、省略しても良いのかなどの情報も記載されています。人間用の帳票のひな形(様式)の説明と変わりがありませんね。




