BLOG

エンティティとは?意味と、データベースやSEOで指すものの違いを解説

エンティティは、名前や番号で他と見分けられる1つの対象を指す言葉で、データベース設計、HTML、SEOと分野ごとに指すものが変わります。資料や打ち合わせで出てきたら、何を1件と数えているかと、その1件を何で見分けているかを相手に確かめると、同じ言葉で別のものを指したまま話が進むのを防げます。

中央に「エンティティ」と書いた四角を置き、周りにデータベースの表、HTMLの記号、検索結果の画面、会社の建物のアイコンを並べて、それぞれが中央の四角と線でつながっている図。

「エンティティは、データベースとHTMLとSEOで、それぞれ別の意味を持つ言葉」。資料や打ち合わせでエンティティという言葉に初めて出会った方は、そう受け止めることがあります。用語辞典を引くと、データベースではデータのまとまり、HTMLでは記号の書き方、SEOでは検索される人物や会社と、分野ごとに違う説明が並んでいるためです。

しかし、これまで多くのSEO記事の制作や、データベースから多数のページを作るWebサイトのSEOに携わってきた弊社の立場から言えるのは、エンティティの意味は、どの分野でも「他と見分けられる1つの対象」だということです。分野ごとに変わるのは、何を1つの対象として数えるかのほうです。

本記事では、エンティティの意味と分野ごとの使われ方から、データベース設計やHTML、SEOでの中身、打ち合わせで意味を確かめる問いまで、記事制作会社の視点で順を追ってお伝えします。

この記事でわかること
  • エンティティは名前や番号で他と見分けられる1つの対象を指す言葉で、英語のentityは「実体」「存在するもの」という意味
  • データベース設計では、顧客や商品、注文のようにデータとして管理する対象を指し、ER図では四角で描く
  • HTMLでは、「<」のような記号を「&lt;」と名前や番号で書き表したものを指し、仕様では文字参照と呼ぶ
  • SEOでは、Googleが検索語を文字列でなく人物や会社などの対象として理解するときの、対象1つひとつを指す
  • 資料で出てきたら、何を1件と数えるかと、1件を何で見分けるかを確かめると意味が定まる

エンティティの意味と英語での表記

エンティティとは、名前や番号で他と見分けられる、1つの「もの」や「こと」を指す言葉です。英語のentityは「実体」「存在するもの」を意味し、IT、会計、法律などの分野で、区別して扱う対象を呼ぶときに使われます。

エンティティになるのは、人や商品のように形のあるものに限りません。注文、予約、出荷のような出来事も、1件ずつ見分けられればエンティティとして扱います。

💡

エンティティの英語の複数形はentitiesです。データベースの分野ではER図を「実体関連図」と訳すように、エンティティを「実体」と訳すこともあります。

エンティティが分野ごとに指すもの

エンティティが指すものは、分野によって次の6つに分かれます。

分野

エンティティが指すもの

例

データベース設計

業務でデータとして管理する対象

顧客、商品、注文

プログラミング

データベースの表の1行と対応させて扱うオブジェクト

Javaでデータベースを扱う仕組み(JPA)のエンティティクラス

HTML

名前や番号で書き表した記号

&lt;と書いて「<」を表示する

SEO

Googleが認識する人物、組織、場所、物事

会社、人物、商品のブランド

会計・法務

取引や会計の単位になる法人や事業体

グループに属する会社1社ずつ

自然言語処理

文章から取り出す人名、地名、日付などの語

「大阪」「来週の月曜日」

6つの分野に共通するのは、対象を名前や番号で1つずつ見分けている点です。

会社の資料で「グループの各エンティティ」と書かれていれば、グループに属する会社1社ずつを指します。

エンティティという1つの言葉が、分野ごとに違う対象を指す様子を示した図

データベース設計でのエンティティとER図

データベース設計でのエンティティは、顧客、商品、注文のように、業務でデータとして管理したい対象のまとまりです。ER図は、エンティティと、エンティティどうしの関係で、データの構造を表す図です。ER図では、エンティティを四角で描きます。

ER図のもとになったERモデルは、1976年にピーター・チェンが論文で発表した考え方です。エンティティを決めることは、システムが何のデータを1件ずつ持つかを決めることで、要件定義や基本設計といった、システムを作り始める前の段階で行います。

属性とリレーションシップ

属性はエンティティが持つ項目で、リレーションシップはエンティティどうしの関係です。「顧客」のエンティティなら、氏名、住所、電話番号が属性(アトリビュート)になります。属性のうち、1件を他と見分けるための項目を主キーと呼び、顧客なら顧客番号が主キーになります。

1人の顧客が何回も注文するなら、「顧客」と「注文」は1対多の関係です。関係の数え方には1対1、1対多、多対多の3つがあり、ER図では線の端の記号や数字で描き分けます。

顧客、注文、注文明細、商品の4つのエンティティをつないだER図

注文と商品のように多対多になる関係は、間に「注文明細」のエンティティを置いて、1対多の関係2つに分けます。1回の注文で複数の商品を買え、1つの商品が何回も注文されるためです。

エンティティとテーブルの違い

エンティティは設計の段階で決めるもので、テーブルはデータベースの中に実際に作る表です。多くの場合、1つのエンティティが1つのテーブルになり、1件のデータがテーブルの1行に入ります。

とりわけ見落とされがちなのが、エンティティとテーブルが1対1にならない設計もあることです。データの読み出しを速くするために複数のエンティティを1つのテーブルにまとめた設計では、テーブルの数と、設計で決めたエンティティの数が合いません。

エンティティを洗い出す手順

エンティティの洗い出しは、4つの手順で進めます。

1
STEP
業務に出てくる名詞を書き出す

受注から請求までの業務の流れを追い、帳票や画面に出てくる名詞を書き出します。顧客や商品のような業務の対象と、注文や出荷のような日付とともに起きる出来事を分けて書くと、出来事の側の漏れに気づけます。

2
STEP
1件の見分け方を決める

名詞ごとに、1件を何で見分けるかを決めます。見分ける項目を決められない名詞は、ほかのエンティティの属性である場合があり、たとえば「氏名」は顧客を説明する項目のため顧客の属性になります。

3
STEP
属性を割り当てる

各エンティティに属性を割り当てます。同じ項目が2つのエンティティに出てきたら一方にだけ置き、もう一方からは主キーでたどれるようにします。

4
STEP
関係を決めてER図に描く

エンティティどうしの関係を1対1、1対多、多対多のどれに当たるかで決め、ER図に描きます。

HTMLのエンティティと文字参照の書き方

HTMLのエンティティは、「<」や「&」のようにHTMLの中で特別な意味を持つ記号や、キーボードで打ちにくい記号を、名前や番号で書き表したものです。HTMLの仕様では文字参照と呼ばれ、「&」で始まり「;」で終わります。

書き方には、名前で書く方法と、文字の番号を10進数か16進数で書く方法があります。「<」なら、名前では&lt;、10進数では&#60;、16進数では&#x3C;と書きます。

表示したい文字

名前で書く場合

10進数の番号で書く場合

<

&lt;

&#60;

>

&gt;

&#62;

&

&amp;

&#38;

"

&quot;

&#34;

改行されない空白

&nbsp;

&#160;

©

&copy;

&#169;

「<」はタグの始まり、「&」は文字参照の始まりとして読まれることがあるため、文字として表示したいときは文字参照で書きます。

Character reference (文字参照) - 用語集 | MDN
HTML の文字参照 (character reference) とは、レンダリングされたウェブページ上で別の文字を表すために使用されている、文字のエスケープシーケンスのことです。
🌐 developer.mozilla.org
外部リンク

※ 出典:MDN Web Docs 用語集「文字参照」

HTMLエンティティ化が必要な場面

HTMLエンティティ化が必要なのは、利用者が入力した文字列のように、自分で書いていない文字列をページに表示する場面です。HTMLエンティティ化は、文字列の中の「<」「>」「&」「"」「'」を文字参照に置き換える処理で、エスケープとも呼ばれます。

⚠

入力された文字列をエンティティ化せずに表示すると、入力に含まれた「<script>」がプログラムとして動き、閲覧者のブラウザで意図しない処理が行われるおそれがあります。入力欄を悪用する攻撃はクロスサイトスクリプティングと呼ばれ、エンティティ化はクロスサイトスクリプティングを防ぐ基本の対策です。

PHPでは、htmlspecialchars関数で文字列をエンティティ化できます。ReactやLaravelのテンプレートのように、表示するときに自動でエンティティ化する仕組みもあります。自分で置き換えが必要になるのは、自動で置き換えない方法で文字列を出力するときです。

SEOでのエンティティとナレッジグラフ

SEOでいうエンティティは、Googleが検索語を文字列ではなく、人物、組織、場所、物事といった対象として理解するときの、対象1つひとつです。

Googleは2012年5月にナレッジグラフを発表し、狙いを「things, not strings(文字列ではなく、もの)」と表現しました。ナレッジグラフは、エンティティとエンティティどうしの関係を集めたデータベースで、発表の時点で5億を超える対象と、35億を超える事実や関係が収められていました。

発表の記事では、「taj mahal」という検索語が、インドの建造物、グラミー賞を受けた音楽家、アトランティックシティのカジノのどれを指すかを見分ける例が挙げられています。

Introducing the Knowledge Graph: things, not strings
We hope this will give you a more complete picture of your interest, provide smarter search results, and pique your curiosity.
🌐 blog.google
外部リンク

※ 出典:Google「Introducing the Knowledge Graph: things, not strings」(2012年5月16日)

自社のサイトを運営する側にとっては、社名やサービス名を毎回同じ書き方で書き、会社概要に事実をまとめることが、Googleに自社を別の会社と取り違えさせないための基本になると見ています。同じ会社がページごとにカタカナ、英語、略称と違う名前で書かれていると、同じ会社だと読み取れるかはGoogleの推測に任されます。構造化データ(ページの内容を検索エンジンが読み取れる形式で書いたコード)で社名や所在地を示す方法は、schema.orgとは?構造化データが効くページと書き方を解説で扱っています。

自社の社名で検索したとき、別の会社の情報が混ざっていませんか

弊社では、会社概要や記事、構造化データで社名やサービス名がどう書かれているかを確かめ、検索やAI検索の回答で自社が正しく扱われるように、直す順番をご提案します。

「エンティティ」と言われたら確かめる2つの問い

資料や打ち合わせで「エンティティ」という言葉が出てきたら、何を1件と数えるかと、その1件を何で見分けるかの2つを確かめると、相手が指しているものが定まります。2つのどちらかが決まらないまま話が進むと、同じ言葉で別のものを指していることに、データを集計する段階まで気づけません。

何を1件と数えるか

何を1件と数えるかは、同じ「顧客」という言葉でも部署によって違うことがあります。営業部門が担当者1人を1件と数え、経理部門が請求先の会社1社を1件と数えていれば、同じ「顧客数」でも数字が合いません。

同じ取引先を担当者ごとに数えた場合と会社ごとに数えた場合で、顧客数が変わる様子を比べた図

データベースで顧客のエンティティを決めるときは、個人と会社のどちらを1件とするか、会社なら本社と支店を分けるかまで決めます。データベースから多数のページを作るWebサイトでは、エンティティ1件が1ページになることが多く、1件の数え方がずれると同じ施設のページが2つできます。

経営者経営者

システム会社から「まず顧客のエンティティを決めましょう」と言われました。顧客一覧の項目を決めればよいのでしょうか。

Writers-hub編集部Writers-hub
編集部

項目を決めるのも、エンティティを決める作業の一部です。ただ、項目より先に、顧客を担当者1人ずつ数えるのか会社1社ずつ数えるのかと、1件を顧客番号で見分けるのかを決めてください。数え方が決まらないまま項目を決めると、同じ会社の担当者が別々の顧客として登録されます。

1件を何で見分けるか

1件を見分ける手がかりは分野ごとに違い、主な4つの分野では次のとおりです。

分野

1件の例

見分ける手がかりの例

データベース設計

顧客1人、または顧客企業1社

顧客番号のように1件を見分ける項目(主キー)

HTML

表示したい文字1つ

「lt」のような名前、「60」のような番号

SEO

会社1社、人物1人

社名に加えて、所在地や公式サイトのURL

会計・法務

法人1社

国内では13桁の法人番号、国際的な金融取引では20桁のLEI(取引主体識別子)

見分ける手がかりが決まっていないと、同じ対象が2件に分かれたり、別の対象が1件にまとまったりします。たとえば氏名だけで顧客を見分けると、同姓同名の2人が1人の顧客としてまとまります。

施設や商品のデータを、1件ずつ検索で見つかるページにしたいとお考えですか

弊社のデータベースSEOでは、何を1件と数え、何で見分けるかを決めるところから、同じ対象のページが重ならないページの作り方までを支援します。

エンティティについてのよくある質問

エンティティと混同されやすい言葉は3つあります。

エンティティとオブジェクトの違いは何ですか

データベース設計のエンティティはデータの持ち方だけを決めるもので、オブジェクト指向プログラミングのオブジェクトはデータと処理をまとめて持つものです。プログラムの中で、エンティティのデータを入れて扱うクラスを「エンティティクラス」と呼ぶことがあります。

エンティティとインスタンスの違いは何ですか

多くのデータベース設計の資料では、「顧客」のような型をエンティティ、1人ひとりの顧客をインスタンスと呼びます。1人ひとりをエンティティ、型をエンティティタイプと呼び分ける流儀もあるため、資料の用語の説明でどちらの使い方かを確かめてください。

エンティティ定義とは何ですか

エンティティ定義は、エンティティごとに名前、意味、主キー、属性を書き出した設計書で、ER図と一緒に作ります。何を1件と数えるかも文章で書いておくと、部署ごとの数え方の違いに設計の段階で気づけます。

まとめ|エンティティは何を1件と数えるかで読む

エンティティは、名前や番号で他と見分けられる1つの対象を指す言葉です。データベース設計では顧客や注文、HTMLでは記号、SEOでは会社や人物と、分野ごとに当てはめる対象は変わります。分野が変わっても、何を1件と数え、何で見分けるかを確かめれば意味が定まります。資料でエンティティという言葉に出会ったら、まず相手に2つの問いを尋ねてみてください。

私たち合同会社Writers-hubは、SEO記事の制作と、検索やAI検索で会社やサービスが正しく扱われるための支援、データベースから多数のページを作るWebサイトのSEOを行っています。社名の書き方の整理や、ページの単位を決める段階からご相談いただけます。

自社サイトで、社名の書き方やページの単位が決まっていますか

社名やサービス名の書き方、データベースから作るページの単位など、今のサイトの状況を伺い、先に手を付ける箇所をご提案します。相談は無料です。

この記事を書いた人

米山拓真

米山拓真

合同会社Writers-hub 代表社員

滋賀県立大学工学研究科の修士課程を修了後、大手制作会社の編集部を経て2019年にWebライターとして独立。2020年に記事制作を手順化した「ハブ式SEOライティングメソッド」を開発し、これまでに200人以上のライターを育成しました。2022年3月に合同会社Writers-hubを設立し、会社として累計8,000記事以上のSEO記事制作に携わっています。2024年にAIライティングシステム「一気通貫Pro」、2025年から書き手の文体を再現するAI編集者「Edico」を開発。このブログでは、クライアント案件と自社サイトで実際に試したことを書いています。

読んで終わりにしないために

記事の内容を自社に当てはめるとどうなるか、オンライン30分で一緒に整理します。費用はかかりません。