メタモデルにエンティティが必要か否かについて、1つのエピソードをお話します。
メタモデルを設計しているときの話です。
「必要最小限の要素で成り立っていること」はすぐれたメタモデルの要件として重要だ、と考えられています。
データ項目は、自分自身の中に構造があることを許すので、
顧客コード(=支店コード+顧客枝番号)と内部構造を定義することができます。
この例で、データ項目は3つと認識します。
「上記のように複数のデータ項目をまとめ、そのまとめたものに新しいデータ項目名を付与すれば、エンティティというメタモデル要素を導入しなくてもすむのではないか。そうすればエンティティは不要となるので、今までより1つ少ない要素で実世界を表現できるため、よりすぐれたメタモデルができるのではないか。」と考えました。
この問いに対して、ある先生が答えました。
エンティティとデータ項目は性質が違うから分けてとらえるべきだ。エンティティには実世界に対応する「もの」や「こと」がある。データ項目にはそれがない。データ項目はあくまでもエンティティを説明する属性だ。従って、形式的に同じように管理できるからといって、1つにしても良いはずはない。
別な先生が答えました。
エンティティとデータ項目、それぞれが持つメタデータを比較して見なさい。エンティティがもつメタデータは名称や説明などだが、データ項目がもつメタデータは、名称、説明以外にもKEY区分、参照KEY区分、加工データ区分、定義域・・・と沢山ある。これだけ違っているものを同じと見る必然性の方が疑わしい。
ということで、エンティティもデータ項目と言ってしまえ!という極論は、言えなくなりました。
残念!

























