Dbms-generalization-aggregation

提供:Dev Guides
移動先:案内検索

汎化集約

ERモデルには、データベースエンティティを概念的な階層方式で表現する機能があります。 階層が上がると、エンティティのビューが一般化され、階層を深くすると、含まれるすべてのエンティティの詳細がわかります。

この構造で上に行くことは*一般化*と呼ばれ、エンティティはより一般化されたビューを表すために一緒にクラブされます。 たとえば、Miraという名前の特定の学生をすべての学生とともに一般化できます。 エンティティは学生であり、さらに学生は人です。 その逆は「専門化」と呼ばれ、人は学生であり、その学生はミラです。

一般化

前述のように、一般化されたエンティティにすべての一般化されたエンティティのプロパティが含まれるエンティティを一般化するプロセスは、一般化と呼ばれます。 一般化では、類似の特性に基づいて、多くのエンティティが1つの一般化されたエンティティにまとめられます。 たとえば、鳩、家すずめ、カラス、鳩はすべて鳥として一般化できます。

一般化

特化

専門化は一般化の反対です。 専門分野では、エンティティのグループは、その特性に基づいてサブグループに分割されます。 たとえば、グループ「個人」を考えてみましょう。 人には名前、生年月日、性別などがあります。 これらの特性は、すべての人、人間に共通です。 しかし、企業では、従業員、雇用主、顧客、またはベンダーとして、会社で果たす役割に基づいて個人を特定できます。

スペシャライゼーション

同様に、学校のデータベースでは、個人が学校でエンティティとしてどのような役割を果たしているかに基づいて、教師、学生、またはスタッフとして専門化することができます。

継承

オブジェクト指向プログラミングでオブジェクトのクラスを作成するために、ERモデルの上記の機能をすべて使用します。 通常、エンティティの詳細はユーザーには表示されません。このプロセスは abstraction として知られています。

継承は、一般化と専門化の重要な機能です。 これにより、下位レベルのエンティティが上位レベルのエンティティの属性を継承できます。

継承

たとえば、名前、年齢、性別などのPersonクラスの属性は、StudentやTeacherなどの下位レベルのエンティティに継承できます。