ERモデルにおける一般化、特殊化、および集約
一般化は、一般化された属性または一般化されたエンティティのプロパティを含むエンティティを一般化するプロセスです。作成されるエンティティには、共通の機能が含まれます。一般化はボトムアッププロセスです。
Car、Truck、Motorcycleの3つのサブエンティティを作成でき、これら3つのエンティティをVehicleの1つの一般的なスーパークラスに一般化できます。
これは、すべての違いを隠す上位レベルで1つの単一エンティティ(スーパークラス)に一般化できる共通の文字を持つ2つ以上のエンティティ(サブクラス)を指定する抽象化の形式です。
特殊化は、さまざまな特性を共有するエンティティのサブセットを識別するプロセスです。エンティティを上位レベル(スーパークラス)から下位レベル(サブクラス)までの複数のエンティティに分割します。より高いレベルのエンティティの破壊は、スーパークラスのエンティティのいくつかの際立った特徴に基づいています。
これはトップダウンのアプローチであり、最初にスーパークラスを定義し、次にサブクラスを定義し、次にそれらの属性と関係を定義します。
集約は、オブジェクト全体とそのコンポーネント間の関係を表します。集計を使用して、関係間の関係を表現できます。集計は、エンティティ間の「has-a」または「is-part-of」の関係を示します。一方は「全体」を表し、もう一方は「一部」を表します。
従業員、支店、マネージャーの間の三項関係Works_Onを検討してください。この状況をモデル化する最良の方法は、集計を使用することです。したがって、リレーションシップセットであるWorks_Onは、より高いレベルのエンティティセットです。このようなエンティティセットは、他のエンティティセットと同じように扱われます。 Works_OnとManagerの間にバイナリ関係Managerを作成して、誰がどのタスクを管理するかを表すことができます。
-
DBMSの一般化と特殊化の違い
この投稿では、DBMSの一般化と特殊化の違いを理解します。 一般化 ボトムアップアプローチを使用して機能します。 スキーマのサイズが縮小されます。 通常、エンティティのグループに適用されます。 継承は一般化では使用されません。 これは、グループ化が複数のエンティティセットから作成されるプロセスとして定義できます。 2つ以上の下位レベルのエンティティセットの和集合を取り、上位レベルのエンティティセットを生成します。 共通の機能のいくつかは、結果として得られる上位レベルのエンティティセットで取得されます。 ユニオン操作である必要があるエンティティ間の
-
アグリゲーションとアソシエーションの違い
この投稿では、集約と関連付けの違いを理解します。 関連付け それは共通の目的を持っている人々の組織として理解することができます。また、それらが正式な構造で構成されていることも示しています。これは、ある種のアクティビティを表す2つのオブジェクト間の二項関係を表します。 複数のオブジェクト間の関係です。 例としては、健康的な食品の摂取が、健康的な体重だけでなく、肌、髪の毛、体力、活動性の良さにどのように関係しているかが挙げられます。 関連付けは、一方のクラスがもう一方のクラスを使用する2つのクラス間の関係です。 本質的に柔軟性がありません これは、オブジェクト間に何らかのリンク/関係がある