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é.
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 .
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.
- 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.
- Dědičnost vztahu : Dílčí entity také dědí vztahy nadřazené entity.
- 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.
- 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ě.
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ě.
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ě.