よく目にする「エンティティ」
ソフトウェア設計を行っていて対面することが多い「エンティティ」という言葉。設計書の図によく出てきますが、単語の意味が掴みどころがない感じだったので、ちょっと調べてみました。
Wikipediaでは...
コンピュータ用語で、参照や関連付けを受けるデータや意味のまとまり。「実体」。 ⇒ 実体関連モデル
どの説明でも出てくる「実体」。プログラムをやっていると真っ先に出てくる用語「インスタンス」も「実体」ですよね?
Wikipediaの文中で「データ」という表現が自分の中で腑に落ちる気がします。インスタンスはデータって感じじゃないです。インスタンスはクラスが生成するオブジェクトのことです。
また実体関連モデル = ER図のERはEntity Relationshipの略で、データベースの設計で利用されてますね。
IT用語辞典では...
エンティティとは、実体、存在、実在(物)、本質、本体などの意味を持つ英単語。ITの分野では、何らかの標識や識別名、所在情報によって指し示される、独立した一意の対象物をエンティティということが多い。
独立した一意の対象物であることが多いんですね、生まれてくる赤ちゃんに名前をつけるようなものですね。
エンティティの語源は...
最後に語源でなんとかイメージを掴んでみる。
entity意味と語源 (語源英和辞典)
㋶entitas(存在物)→㋶ens(存在している)+-tas(抽象名詞)→㋶sum(存在する)の現在分詞形 →㋑hes-(存在する)が語源。「存在している(ens)こと(-ity)」がこの単語のコアの意味。㋓essential(必須の)と同じ語源をもつ。
essentialと同じ語源なんですね。何かの本質的な要素である感じなんですね。赤ちゃんという表現は良い線かも、、?
まとめ 〜自分的解釈〜
以上から、自分のイメージでしっくりくる表現でまとめると、、
エンティティはデータ世界で生を受ける対象物のこと。エンティティという表現が使われたら、背景としてデータ世界(データベース)と、エンティティを生成しIDを与える別プログラムが存在する。