logo

Generalizácia, špecializácia a agregácia v ER modeli

Použitie modelu ER pre väčšie údaje vytvára veľkú zložitosť pri navrhovaní databázového modelu, takže s cieľom minimalizovať zložitosť bola v modeli ER zavedená špecializácia a agregácia. Tieto boli použité na abstrakciu údajov. V ktorej sa na skrytie detailov množiny objektov používa mechanizmus abstrakcie. 

hranatý materiál

Zovšeobecnenie

Zovšeobecnenie je proces extrakcie spoločných vlastností z množiny entít a vytvorenie zovšeobecnenej entity z nej. Ide o prístup zdola nahor, v ktorom môžu byť dve alebo viac entít zovšeobecnené na entitu vyššej úrovne, ak majú niektoré atribúty spoločné.

Generalizácia Špecializácia a agregácia v ER modeli' title=Zovšeobecnenie

Príklad: ŠTUDENT a FAKULTA možno zovšeobecniť na entitu vyššej úrovne s názvom OSOBA, ako je znázornené na obrázku nižšie. V tomto prípade sa bežné atribúty ako P_NAME a P_ADD stanú súčasťou vyššieho subjekt (PERSON) a špecializované atribúty ako S_FEE stať súčasťou špecializovaného subjektu (ŠTUDENT). 



Špecializácia

V špecializácii je subjekt rozdelený na podriadené jednotky na základe svojich charakteristík. Ide o prístup zhora nadol, kde sa subjekt vyššej úrovne špecializuje na dve alebo viac nižších úrovní subjektov .

Generalizácia Špecializácia a agregácia v ER modeli' loading='lazy' title=Špecializácia

Príklad: entita EMPLOYEE v systéme riadenia zamestnancov sa môže špecializovať na DEVELOPER TESTER atď. V tomto prípade sa bežné atribúty ako E_NAME E_SAL atď. stanú súčasťou vyššej entity (ZAMESTNANCI) a špecializované atribúty ako TES_TYPE sa stanú súčasťou špecializovanej entity (TESTER). 

Dedičnosť

Je to dôležitá vlastnosť zovšeobecňovania a špecializácie. V špecializácii je entita vyššej úrovne rozdelená na podriadené entity nižšej úrovne, ktoré dedia jej atribúty. Pri zovšeobecnení sú podobné entity nižšej úrovne kombinované do entity vyššej úrovne, ktorá má spoločné atribúty. V oboch prípadoch dedičnosť umožňuje podjednotkám opätovne použiť vlastnosti nadradenej entity.

všeobecná porucha ochrany
  1. Dedičnosť atribútu: Umožňuje entitám nižšej úrovne zdediť atribúty entít vyššej úrovne a naopak. V diagrame je entita vozidla dedičstvom entity vozidla, takže vozidlo môže získať atribúty vozidla. Príklad: Auto môže získať atribút Model vozidla.
  2. Dedičnosť vzťahu : Podriadené jednotky tiež zdedia vzťahy nadradenej jednotky.
  3. Prevažujúce dedičstvo : Subentity môžu prepísať alebo pridať svoje vlastné atribúty alebo správanie odlišné od rodičov.
  4. Dedičstvo spoluúčasti: Dedičnosť participácie v modelovaní ER sa týka dedenia obmedzení participácie z entity vyššej úrovne (nadtrieda) na entitu nižšej úrovne (podtrieda). Zabezpečuje, že podtriedy dodržiavajú rovnaké pravidlá účasti vo vzťahoch, hoci samotné atribúty a vzťahy sa dedia odlišne.
Generalizácia Špecializácia a agregácia v ER modeli' loading='lazy' title=Príklad vzťahu

Príklad: V diagrame má entita Vozidlo vzťah s entitou Cyklus, ale sama by nezískala automaticky vzťah s entitou Vozidlo. Dedenie spoluúčasti sa týka iba dedenia obmedzení účasti, nie skutočných vzťahov medzi subjektmi.

Agregácia

  • ER diagram nie je schopný reprezentovať vzťah medzi entitou a vzťahom, ktorý sa môže vyžadovať v niektorých scenároch.
  • V týchto prípadoch je vzťah s príslušnými entitami agregovaný do entity vyššej úrovne.
  • Agregácia je abstrakcia, prostredníctvom ktorej môžeme reprezentovať vzťahy ako množiny entít vyššej úrovne.
Generalizácia Špecializácia a agregácia v ER modeli' loading='lazy' title=Agregácia

Príklad: Zamestnanec pracujúci na projekte môže potrebovať nejaké stroje. Vzťah REQUIRE je teda potrebný medzi vzťahom WORKS_FOR a entitou MACHINERY. Pomocou agregácie sa vzťah WORKS_FOR so svojimi entitami EMPLOYEE a PROJECT zlúči do jednej entity a medzi agregovanou entitou a STROJOM sa vytvorí vzťah REQUIRE.

in.next java

Zastupovanie agregácie prostredníctvom schémy

Ak chcete reprezentovať agregáciu v relačnej schéme, postupujte takto:

1. Vytvorte schému pre agregovaný vzťah

  • S tým sa bude zaobchádzať ako s množinou entít.
  • Zahŕňa primárne kľúče zúčastnených entít v základnom vzťahu.
  • Zahŕňa aj všetky popisné atribúty základného vzťahu.

2. Vytvorte schému pre vzťah na vyššej úrovni (agregácia)

  • Táto schéma zahŕňa: Primárny kľúč schémy agregovaného vzťahu.
  • Primárny kľúč pridruženej entity, na ktorú sa vzťahuje.
  • Akékoľvek ďalšie popisné atribúty tohto vzťahu vyššej úrovne.