logo

Generalizace, specializace a agregace v ER modelu

Použití modelu ER pro větší data vytváří velkou složitost při navrhování databázového modelu. Aby se minimalizovala složitost, byla v modelu ER zavedena specializace a agregace. Ty byly použity pro abstrakci dat. Ve kterém se mechanismus abstrakce používá ke skrytí detailů sady objektů. 

Zobecnění

Generalizace je proces extrahování společných vlastností ze sady entit a vytvoření zobecněné entity z ní. Jde o přístup zdola nahoru, ve kterém lze dvě nebo více entit zobecnit na entitu vyšší úrovně, pokud mají některé atributy společné.

Generalizace Specializace a agregace v ER modelu' title=Zobecnění

Příklad: STUDENT a FACULTY lze zobecnit na entitu vyšší úrovně nazvanou PERSON, jak je znázorněno na obrázku níže. V tomto případě se běžné atributy jako P_NAME a P_ADD stanou součástí vyššího entita (PERSON) a specializované atributy jako S_FEE se stávají součástí specializovaného subjektu (STUDENT). 



Specializace

Ve specializaci je účetní jednotka rozdělena na dílčí jednotky na základě svých charakteristik. Jedná se o přístup shora dolů, kdy se entita vyšší úrovně specializuje na dvě nebo více nižších úrovní entity .

Generalizace Specializace a agregace v ER modelu' loading='lazy' title=Specializace

Příklad: entita EMPLOYEE v systému řízení zaměstnanců může být specializována na DEVELOPER TESTER atd. V tomto případě se běžné atributy jako E_NAME E_SAL atd. stanou součástí vyšší entity (EMPLOYEE) a specializované atributy jako TES_TYPE se stanou součástí specializované entity (TESTER). 

Dědictví

Je to důležitý rys zobecnění a specializace. Ve specializaci je entita vyšší úrovně rozdělena na podentity nižší úrovně, které zdědí její atributy. Při zobecnění jsou podobné entity nižší úrovně kombinovány do entity vyšší úrovně, která má společné atributy. V obou případech umožňuje dědičnost dílčím entitám znovu použít vlastnosti nadřazené entity.

  1. Dědičnost atributu: Umožňuje entitám nižší úrovně zdědit atributy entit vyšší úrovně a naopak. V diagramu Car entita je dědictvím entity Vehicle, takže Car může získat atributy vozidla. Příklad: Auto může získat atribut Model vozidla.
  2. Dědičnost vztahu : Dílčí entity také dědí vztahy nadřazené entity.
  3. Převažující dědičnost : Dílčí entity mohou přepsat nebo přidat své vlastní atributy nebo chování odlišné od nadřazených.
  4. Dědičnost účasti: Dědičnost participace v modelování ER odkazuje na dědění omezení participace z entity vyšší úrovně (nadtřída) na entitu nižší úrovně (podtřída). Zajišťuje, že podtřídy dodržují stejná pravidla účasti ve vztazích, ačkoli atributy a vztahy samotné se dědí odlišně.
Generalizace Specializace a agregace v ER modelu' loading='lazy' title=Příklad vztahu

Příklad: V diagramu má entita Vozidlo vztah s entitou Cyklus, ale sama by automaticky nezískala vztah s entitou Vozidlo. Dědičnost spoluúčasti se týká pouze dědičných omezení účasti, nikoli skutečných vztahů mezi subjekty.

Agregace

  • ER diagram není schopen reprezentovat vztah mezi entitou a vztahem, který může být vyžadován v některých scénářích.
  • V těchto případech je vztah s odpovídajícími entitami agregován do entity vyšší úrovně.
  • Agregace je abstrakce, jejímž prostřednictvím můžeme reprezentovat vztahy jako množiny entit vyšší úrovně.
Generalizace Specializace a agregace v ER modelu' loading='lazy' title=Agregace

Příklad: Zaměstnanec pracující na projektu může vyžadovat nějaké stroje. Je tedy potřeba vztah REQUIRE mezi vztahem WORKS_FOR a entitou MACHINERY. Použití agregace Vztah WORKS_FOR se svými entitami EMPLOYEE a PROJECT je agregován do jediné entity a mezi agregovanou entitou a STROJEM je vytvořen vztah REQUIRE.

Zastupování agregace prostřednictvím schématu

Chcete-li reprezentovat agregaci v relačním schématu, postupujte takto:

1. Vytvořte schéma pro agregovaný vztah

  • S tím bude zacházeno jako se sadou entit.
  • Zahrnuje primární klíče zúčastněných entit v základním vztahu.
  • Zahrnuje také veškeré popisné atributy základního vztahu.

2. Vytvořte schéma pro vztah na vyšší úrovni (agregace)

  • Toto schéma zahrnuje: Primární klíč schématu agregovaných vztahů.
  • Primární klíč přidružené entity, ke které se vztahuje.
  • Jakékoli další popisné atributy tohoto vztahu vyšší úrovně.