なっトク!

SQL--エンティティとインスタンス

2023-06-12

データベース(DBMS)設計における、エンティティとインスタンスの違い

たすく

データベース設計において、エンティティとインスタンスの違いを教えて

データベース設計におけるエンティティとインスタンスは、非常に重要な概念です。
 

1. エンティティ:
エンティティはデータベースに格納される情報の型を表現します。

これは、人、場所、事物、イベントなど、現実世界の実体や概念を表すものです。

例えば、学生、書籍、コースなどがエンティティとして考えられます。エンティティはそれ自体で意味を持ち、独立して存在できます。
 

2. インスタンス:
インスタンスは特定のエンティティの具体的な例です。

エンティティが一般的なカテゴリを表すのに対し、インスタンスはその特定の例を表します。

例えば、エンティティが「学生」であれば、特定の学生「田中」や「佐藤」がインスタンスとなります。
 

エンティティとインスタンスの関係は、一般的なクラスとそのクラスのオブジェクト(またはインスタンス)の関係に似ています。

エンティティ(クラス)が抽象的な概念を表し、インスタンスがその具体的な実現を表すという概念です。
 

エンティティがクラスなら、インスタンスは何?

たすく

エンティティがクラスなら、インスタンスは何にあたりますか?

エンティティとインスタンスの関係は、オブジェクト指向プログラミングの概念に非常によく似ています。
 

1. エンティティ(クラス):
これは一種の設計図や原型を表しています。

エンティティ(クラス)は、それ自体が具体的なデータや状態を持たない抽象的な概念です。

代わりに、それはその種類のインスタンスが持つ可能性のある属性や振る舞いを定義します。
 

2. インスタンス(オブジェクト):
インスタンスは具体的な存在です。

エンティティ(またはクラス)から作成され、その属性と振る舞いを具体的な値や状態にインスタンス化します。
 

例えば、「学生」というエンティティ(クラス)があるとします。

このクラスは、「名前」、「学籍番号」、「所属」などの属性と、「勉強する」、「試験を受ける」などの動作を定義するかもしれません。

これらはすべて一般的で抽象的な概念です。
 

一方、「田中」はこの「学生」クラスの具体的なインスタンス(オブジェクト)であり、具体的な名前(たとえば、「田中」)、学籍番号(たとえば、「12345」)、所属(たとえば、「工学部」)といった属性値を持ちます。

そして「田中」は「勉強する」、「試験を受ける」といった定義された動作を実行できます。
 

  • この記事を書いた人
  • 最新記事

花丸たすく

▸高度情報処理技術者(ITストラテジスト)
▸データアナリスト、ラーニング・アドバイザー
▸「学び直し」に挑戦する社会人を応援
▸落ちこぼれ→京大→教育関連企業→現在
▸「学び直し」から得た「気づき」こそ成長の源泉、現実を変える力
▸武器になる「学び直し」のキホン
▸資格取得・大学受験のエッセンス
▸「勉強マインド」作りへ、自分のノウハウを全部公開

-なっトク!
-,