ビジネスやプログラミングで “entity”という単語をよく聞きますが、その意味についてご存知でしょうか。カタカナで「エンティティ」という表記も見かけますが、カタカナにしただけだと、何のことだかよく分からないですよね。
そこで、この記事では “entity”の意味と、“entity”がビジネス、プログラミングなどで使われる場合の意味の違いについて解説していきます。この記事を読めば、”entity”という単語を見かけても、文脈に応じて意味がとりやすくなります。
entityの意味とは?
entityは、「実体」や「存在」という意味の英単語で、独立して存在するものを指します。ビジネスでは企業や組織、哲学では存在するもの全般、ITではデータベース内のオブジェクトなどを意味します。
ビジネスにおけるentityの意味とは?
entityは、ビジネスで使われる場合、”entity”の前に単語を入れて使うことが多いです。例とともに、それぞれの意味を確認していきましょう。
legal entity 法人
entityの前に legal を入れて”legal entity”とすると、「法的な実体」なので、「法人」という意味になります。
訳)法人とは、地方、州、連邦の管理当局に従って法的責任を果たさなければならない企業、組織、個人のことです。
business entity 事業体
entity の前に businessを入れて”business entity”とすると、「事業体」という意味になります。「事業をする実体」なので、「事業体」となるのは、理解できますね。
訳)事業体とは、1人または複数の人が事業を行うために形成する組織です。
non-profit entity 非営利団体
entityの前に non-profit を入れて”non-profit entity”とすると、「非営利の実体(団体)」という意味になります。
訳)その組織は非営利団体です。
実際、ビジネスで使うentityの前には何か単語を入れて使うことが多いので、具体的な単語を入れて説明しましたが、そうすることで、entity = 「実体」の意味が分かりやすくなったのではないでしょうか。
会社とentityの関係とは?
ビジネスにおける”entity”の意味はお分かりいただけたと思いますが、「会社」と “entity”の関係はどうなっているのでしょうか。
端的に言えば、「会社」は”legal entity”「法人」の一形態だと言えます。
訳)「会社」は法人の一形態です。
法人とは、法的責任を果たさなければならない会社、組織、個人のことを指すため、会社は法人の一形態となるわけです。
プログラミングにおけるentityの意味とは?
プログラミングに出てくるentityの意味は、「エンティティ」と表記されていますが、これはどういう意味なのでしょうか。
IT用語辞典では、このように説明されています。
エンティティ(entity)とは、実体、存在、実在(物)、本質、本体などの意味を持つ英単語。ITの分野では、何らかの標識や識別名、所在情報によって指し示される、独立した一意の対象物をエンティティということが多い。
プログラミングで使われるentity「エンティティ」は、データベースやオブジェクト指向プログラミングにおいて、「実体」を表現するための用語です。単に「オブジェクト」と呼ばれることもありますが、データベースでエンティティを扱う場合には、特定の属性や関係性を持った実体として定義されることが多いです。
データベースを作る場合、「エンティティ」をテーブル(表)として表現します。例えば、「顧客情報」という「エンティティ」を作る場合、「名前」「住所」「電話番号」などの「属性(アトリビュート attribute)」を入れます。「注文」という「エンティティ」を作る場合、「顧客ID」「注文商品」「注文日時」「配送希望日」「配送日時」「決済方法」などの「属性」を入れていきます。このように見てくると、プログラミングにおける「エンティティ」は「データのまとまり」として捉えることができます。
「顧客情報」と「注文」という「エンティティ」は、お互いに関連しているので、紐づけられて、ER図(Entity Relationship Diagram)で表現されます。ER図とは、「データベース設計(データモデリング)で使う設計手法」です。
訳)データベースの設計において、ER図を作ることは不可欠です。
訳)なぜそれがそんなに欠かせないのか理由が推測できます。
訳)エンティティは特定の属性を持っていて、エンティティ同士で関係性を持っているからね。
データモデルとエンティティの違い
データベースでは、ER図を使ってエンティティなどを整理して表示していきますが、データモデルとエンティティの違いは何なのでしょうか。
データモデルとは、あらかじめ定めた様式に従ってデータの名称や定義、データ同士の関係性などを記述したものです。データモデルの主要な構成要素には、次のものが挙げられます。
・データモデル図
・データモデル図に書かれたエンティティ・属性の詳細な定義や値の入れ方のルール
プログラミングにおけるエンティティの意味は、前述の通り、特定の属性や関係性を持った実体です。
つまり、データモデルの中に、エンティティが含まれるということになります。
まとめ
いかがでしたでしょうか。”entity”の意味は、ビジネスで使う場合とプログラミングで使う場合で、意味や訳し方が違ってきます。
“entity”は「実体」という意味ですが、ビジネスで使う場合、”entity”の前に何か単語を入れて使われることが多く、その前にどんな単語が入るかによって訳し方が変わってくることが分かりましたね。例えば、”legal entity”「法人」、”business entity”「事業体」、”non-profit entity”「非営利団体」といった具合です。
”entity”をプログラミングやデータベースで使う場合、「エンティティ」と訳され、特定の属性や関係性を持った実体を表しています。データベースを作る場合、「エンティティ」を含むデータモデル図が必要になってきます。
「エンティティ」を含むデータモデル図を使ってデータベースを作るのは大変そうですが、まずはプログラミングやデータベースにおける「エンティティ」の意味を理解していただければ幸いです。
【関連記事】