エンティティとアトリビュートの主な違いは、エンティティがRDBMSのデータを表す実世界のオブジェクトであるのに対して、アトリビュートはエンティティを記述するプロパティであることです。
リレーショナルデータベース管理システム(RDBMS)は、リレーショナルモデルに基づくデータベース管理システムの一種である。
RDBMSはデータを効率的に保存・管理し、簡単にアクセスできるよう支援する。
RDBMSはデータをテーブルやリレーションに格納する。
各テーブルは列と行で構成されています。
データベースを作成する前に、データベースを設計することが不可欠です。
ER 図は、その作業を支援するものです。
ER 図に関連する概念として、エンティティとアトリビュートがあります。
エンティティーとは
エンティティとは、RDBMSでデータを表現する実世界のオブジェクトのことです。
たとえば、大学管理システムを想定する。
そこには、学生、講師、コース、試験などの情報が格納されている。
学生、講師、コース、試験はデータベースのテーブルとなる。
学生テーブルのレコードは、エンティティと呼ばれます。
それは、単一の学生のオブジェクトを表します。
同様に、講師テーブルのレコードは、エンティティです。
これは、1人の講師オブジェクトを表します。
これらのエンティティは、強いエンティティと呼ばれます。
もう一つのエンティティタイプとして、弱いエンティティがあります。
弱いエンティティは、他のエンティティに依存します。
例えば、試験のエンティティは、コースのエンティティに依存します。
つまり、弱いエンティティです。
ER図では、エンティティを矩形で表現することができる。
また、弱いエンティティは、二重の長方形の枠を使って表現することができます。
アトリビュートとは
属性とは、エンティティを記述するプロパティです。
もう一度、大学管理システムの例を見てみましょう。
学生エンティティは、学生ID、名前、年齢、住所、GPAなどの属性を持っています。
コースのエンティティは、コースID、コース名、期間などの属性を持っています。
さらに、試験エンティティは、試験番号、日付、開始時刻、終了時刻などの属性を持つ。
このように、属性にはさまざまな種類があります。
それらは以下の通りです。
単純な属性 – 単純な属性をさらに分割することはできません。
複合属性 – 単純な属性を複数組み合わせたもの。
例)-名前は、ファーストネーム、ミドルネーム、ラストネームで構成される。
住所は、家屋番号、通り名、市区町村などから構成される。
単一値属性 – 一つの値しか持つことができない。
多値属性 – この属性には複数の値を設定することができます。
派生属性 – この属性はRDBMSでは利用できないが、他の属性を使ってこの属性を見つけることができる。
例:生年月日から年齢を求めることができる。
ER図では、属性を楕円で表現する。
派生属性は、楕円の内側に点線の楕円を描いて表現する。
また、多値の属性は二重の楕円で表わされる。
データベースでは、テーブルのカラムが属性となる。
エンティティとアトリビュートの違い
定義
エンティティとは、RDBMSにおいて情報をモデル化して保存するためのオブジェクトであり、アトリビュートとはエンティティを定義するための特徴です。
したがって、これがEntityとAttributeの主な違いです。
機能性
さらに、EntityとAttributeのもう一つの違いは、EntityがRDBMSの主要な対象を表すのに対して、Attributeはその対象を記述することである。
テーブル
また、エンティティはテーブルの行またはレコードであるのに対し、属性はテーブルのカラムです。
結論
RDBMS は最も広く利用されているデータベース管理システムの一つです。
しかし、データベースを開発する前に設計することが必要である。
ER図にはEntityとAttributeが関係する。
EntityとAttributeの大きな違いは、EntityがRDBMSのデータを表す実世界のオブジェクトであるのに対して、Attributeはエンティティを記述するプロパティであることである。