DBMSにおける保存属性と派生属性の主な違いは、保存属性は他の属性を用いて値を求めることができないが、派生属性は他の属性を用いて値を求めることができる点です。
データベース管理システム(DBMS)とは、データを効率的に保存・管理するためのソフトウェアです。
データはテーブルに格納され、これらのテーブルはエンティティとも呼ばれる。
各テーブルには属性があります。
属性は、エンティティの特性や性質を定義します。
たとえば、生徒のテーブルには、ID、名前、年齢、場所などの属性があります。
属性には様々な種類があります。
そのうちの2つは、保存属性と派生属性です。
DBMSにおける保存属性とは何か
ある属性の値を他の属性で決定することができない場合、その属性をストアド属性と呼びます。
例えば、Employeeというテーブルがあるとします。
emp_id、name、department、location などの属性があります。
これらの属性の値は、他の属性では特定できません。
そこで、これらをストアドアトリビュートと呼ぶ。
ER図では、ストアドアトリビュートを楕円と実線で表現することができる。
DBMSにおける派生属性とは何か
ある属性の値を他の属性を使って決定することができる場合、その属性を派生属性と呼びます。
派生属性はテーブルから削除することもできますが、理解しやすくするためにその属性を残すこともできます。
例えば、Employeeエンティティは、date_of_ginzaやageなどの属性も持つことができます。
ageは属性data_of_intex_birthを使用して駆動することができます。
したがって、年齢は派生属性となります。
必要であれば、テーブルからage属性を削除することも可能です。
ER図では、派生属性を点線の楕円で表現することができる。
図 1:保存属性と派生属性を含む ER 図
上の ER 図では、Employee がエンティティです。
また、id、name、date_of_gucciはstored属性で、ageはderived属性です。
DBMSにおける保存属性と派生属性の関係
- ストアドアトリビュートから派生アトリビュートを取得することができます。
DBMSにおける保存属性と派生属性の違い
定義
ストアド属性は他の属性から派生できない属性であり、派生属性は他のストアド属性を用いて得られる属性です。
これがDBMSにおけるストアド属性と派生属性の主な違いです。
数値の決定
また、DBMSにおけるストアード属性と派生属性の重要な違いは、ストアード属性の値を決定することができない点です。
しかし、派生属性は他の属性を使って値を決定することができる。
タイプ
また、ストアドアトリビュートは固定的なものですが、派生アトリビュートは可変的なものです。
この点もストアドアトリビュートと派生アトリビュートの違いと言えるでしょう。
ストレージ
また、保存された属性はデータベース上に保存することが義務付けられているが、派生した属性はデータベース上に保存することが義務付けられてはいない。
例
例えば、date_of_birthはstored属性で、ageはderived属性です。
結論
DBMS はデータをテーブルまたはエンティティに格納する。
各エンティティはそれを記述する属性を持っています。
属性には、保存属性と派生属性の 2 種類があります。
DBMSにおけるストアド属性と派生属性の主な違いは、ストアド属性の値を他の属性で求めることはできないが、派生属性の値を他の属性で求めることは可能であることである。