[解説] エンティティとコンテキストの違い

はじめに

「エンティティ?コンテキスト?コンテキサーでよく見るけど違いはよくわからん!」

そんなあなたのために、できるだけ噛み砕いて説明してみました。

ざっくり理解!エンティティとコンテキストとは

「エンティティ=データの箱」「コンテキスト=箱の使い方や見せ方」と考えると理解しやすくなります。エンティティはデータの入れ物であり、コンテキストはエンティティをどう見せるか・使うかを決めたものです。

エンティティとコンテキストの違いを次のとおり表にまとめてみました。

比較項目コンテキストエンティティ
定義立場や役割、場面に応じた「情報の見せ方」や「操作の単位」を定義する枠組み。実体データは持たない。データの「実体」そのもの。情報を記憶装置(メモリ)に保存するための構造。
役割エンティティの要素(属性)を、業務や担当者の役割に応じて取捨選択し、見せ方を定義する。実際のデータ(要素・属性)を保持し、計算機で扱いやすい形式で分類・保存する。
構成要素項目(項目名・データ型)と行(レコードに相当)で構成。要素(データ単位)と属性(要素の区分)で構成。
関係性1つのコンテキストは必ず1つのエンティティに対応。複数のコンテキストが同じエンティティを参照可能。1つのエンティティは複数のコンテキストから参照されることがある。直接操作はできず、必ずコンテキスト経由。
操作単位画面や帳票、入出力、業務ロジックなど、利用者や用途に応じた操作の単位。データベースのテーブルやCSVファイルのようなデータの格納単位。

■ エンティティ:データの箱

エンティティとは、ある対象についてのすべてのデータをまとめた箱(入れ物)です。

例えば「顧客情報」というエンティティがあった場合、その箱の中には以下のような情報が入っています。

  • 顧客名
  • 住所
  • 電話番号
  • メールアドレス
  • 請求情報 …etc

このように、エンティティにはその対象(顧客情報)に関するすべてのデータが格納されています。

■ コンテキスト:箱の使い方・見せ方

コンテキストは、エンティティというデータの箱を「誰が、どの場面で、どのように使うか」を定義する仕組みです。同じエンティティ(データの箱)でも、使う人や場面によってコンテキストを定義することで、用途に適したデータだけを取り出して表示させたり、入力させたりします。

具体例

営業担当者向け画面: 「顧客名」と「電話番号」のみを見せる

経理担当者向け画面: 「顧客名」「住所」「請求情報」を見せる

入力用画面: 新しい顧客情報を登録するために、必要な項目を入力するためのフォームとして使う

このように、エンティティに入っているデータを、業務や担当者の役割に応じて「使いやすく」見せる・操作するのがコンテキストの役割です。

まとめ

エンティティは、「データを入れる箱」であり、コンテキストは、「箱の使い方や見せ方を決めたもの」です。

今回のような内容を丁寧に解説し、また実際にコンテキサーで手を動かす実習を含む「ユーザートレーニング」というプログラムをご用意しております、詳細はお問い合わせください。