【えんてぃてぃ】

エンティティ とは?

最終更新:
💡 顧客や注文など、情報を管理したい「実体」

データベース設計で、情報を管理したい人・モノ・出来事・概念などの実体。ER図では顧客や注文などの種類と、その属性・関係を整理する。テーブルはそれを保存するための実装の一つ。

📌 このページのポイント
顧客と注文の関係を考える 顧客 注文 顧客ID・氏名 注文ID・注文日 属性の例 属性の例 1 多 注文する 顧客1人に、複数の注文が結び付く例 管理対象の概念と、保存する表は区別
顧客や注文は管理する実体の種類、氏名や注文日は属性です。線は関係を示し、データの流れは表していません。
ひよこ ひよこ
エンティティって何?
ペンギン先生 ペンギン先生
データベース設計では、情報を管理したい人・モノ・出来事などの実体のことだよ。通販なら顧客、商品、注文が例になるね。
ひよこ ひよこ
「顧客全体」と「ある1人の顧客」は同じ呼び方なの?
ペンギン先生 ペンギン先生
厳密には「顧客」はエンティティの種類で、顧客IDがC01の人は個々の実体だよ。設計の会話では種類の方もエンティティと呼ぶことがあるので、どちらの話か確認するといいね。
ひよこ ひよこ
ER図では何を描くの?
ペンギン先生 ペンギン先生
管理対象、その属性、対象同士の関係を描くよ。例えば顧客の属性は顧客IDや氏名で、「顧客1人に複数の注文が結び付く」という関係も整理できる。記号の描き方にはいくつかの流儀があるんだ。
ひよこ ひよこ
それぞれがそのままテーブルになるの?
ペンギン先生 ペンギン先生
テーブルへ対応付けることは多いけれど、エンティティは管理対象を考える概念で、テーブルは保存方法なんだ。設計では重複や更新の不整合を避けられるよう、属性や関係に合わせて保存方法を決めるよ。
ひよこ ひよこ
DDDのエンティティは違うものなの?
ペンギン先生 ペンギン先生
ドメイン駆動設計では、属性が変わっても同じものとして追跡する「同一性」が中心だよ。例えば注文はIDで区別する。一方、この業務で住所を同じ値なら同じと扱うなら値オブジェクトにできる。業務上の意味に合わせて判断するんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「エンティティ」って出てきたら「情報を管理したい実体」と思えばだいたいOK!
📖 おまけ:英語の意味
「Entity」 = 実体・存在するもの
💬 人や商品だけでなく、注文のような出来事も、情報を管理する対象として「実体」と呼ぶんだよ

参考資料

← 用語集にもどる