エンティティ
データモデリングでは抽象概念を議論する。その抽象概念が対話の中で何を同じとみなし何が違うと判断するかが共通認識の核となる。 エンティティは以下の特徴がある
1つのものであること
ほかのものとは区別され独立している
http://www.plantuml.com/plantuml/svg/SoWkIImgAStDuKhDAyaigLHuEdlpizax5AfhOG9FTdKytzA29F2ii_jbQo-Im8jDEvwsxq8Ms3_bQUyMa03KjDeQNTtyQgXHg89Gur05eKQY2aADvO8wgAP6Dxy6fXj2GSHWcY4KH0ocro4rBmNeMG00#.png
このデータモデルでは図書は1冊しか存在せず(ISBN 1つにつき1冊)、複数貸出に対応できない http://www.plantuml.com/plantuml/svg/SoWkIImgAStDuKhDAyaigLHuEdlpizax5AfhOG8lfcn55NYog-FvbXOaWMUTtIzRUv6rRDhnj7qNii3-AKzxju04eCRNrkZgvbT3ZU82Me4GX1g7AWWr4bKGQYpCp9eQa1X41HV4PB1O3Sn420KHWna8eI1YCFCSKlDIW2420000#.png
「1冊の本」を指すものを蔵書として見いださなければならない
エンティティに備わる性質
単一性(1つとはなにか
何を指しているのかを明確かつ完全に説明すること
同一性(同じとはなにか
e.g. 「パスタ特集記事が書き換えられておすすめイタリアン特集記事になったら同じ記事か?」
カテゴリ(それは何であるか
上記の曖昧さをなくすために対話を。エンティティの設計は曖昧で主観できて、業務でどう扱うかを恣意的に定める必要がある。概念と実装は区別し、まずは論理レベルでのデータモデルでエンティティの曖昧さを問題領域でどう記述するかを議論。 変更できる、ということに着目して、変更イベントを抽出して概念を見出していく。
エンティティが "区別"、"種別" のような属性を持つのであればここも深堀りポイント。
e.g. 学生区分として小、中、高、大などがあって業務に小もしくは中ならという条件が頻出するようなら、区分値に別の概念を見出すほうがよい。例えば「義務教育」という分類を見出すなど。