logo

Generalizacija, specijalizacija i agregacija u ER modelu

Korištenje ER modela za veće podatke stvara mnogo složenosti tijekom dizajniranja modela baze podataka. Dakle, kako bi se kompleksnost svela na najmanju moguću mjeru, u ER modelu uvedene su generalizacija, specijalizacija i agregacija. Oni su korišteni za apstrakciju podataka. U kojem se mehanizam apstrakcije koristi za skrivanje detalja skupa objekata. 

ubuntu koja naredba

Generalizacija

Generalizacija je proces izdvajanja zajedničkih svojstava iz skupa entiteta i stvaranja generaliziranog entiteta iz njega. To je pristup odozdo prema gore u kojem se dva ili više entiteta mogu generalizirati na entitet više razine ako imaju neke zajedničke atribute.

Generalizacija Specijalizacija i agregacija u ER modelu' title=Generalizacija

Primjer: STUDENT i FAKULTET mogu se generalizirati na entitet više razine koji se zove OSOBA kao što je prikazano na donjem dijagramu. U ovom slučaju uobičajeni atributi poput P_NAME i P_ADD postaju dio višeg entitet (OSOBA) i specijalizirana atributi poput S_FEE postati dio specijaliziranog entiteta (STUDENT). 



Specijalizacija

U specijalizaciji se entitet dijeli na pod-entitete na temelju svojih karakteristika. To je pristup odozgo prema dolje gdje je entitet više razine specijaliziran u dvije ili više nižih razina entiteta .

Generalizacija Specijalizacija i agregacija u ER modelu' loading='lazy' title=Specijalizacija

Primjer: entitet EMPLOYEE u sustavu upravljanja zaposlenicima može se specijalizirati u DEVELOPER TESTER itd. U ovom slučaju uobičajeni atributi poput E_NAME E_SAL itd. postaju dio višeg entiteta (EMPLOYEE), a specijalizirani atributi poput TES_TYPE postaju dio specijaliziranog entiteta (TESTER). 

Nasljedstvo

To je važna značajka generalizacije i specijalizacije. U specijalizaciji se entitet više razine dijeli na podentitete niže razine koji nasljeđuju njegove atribute. U generalizaciji, slični entiteti niže razine kombiniraju se u entitet više razine koji ima zajedničke atribute. U oba slučaja nasljeđivanje dopušta podentitetima da ponovno koriste svojstva nadređenog entiteta.

  1. Nasljeđivanje atributa: Omogućuje entitetima niže razine da naslijede atribute entiteta više razine i obrnuto. U dijagramu entitet Auto je naslijeđe entiteta Vozilo, tako da Auto može steći atribute Vozila. Primjer: automobil može dobiti atribut modela vozila.
  2. Nasljeđivanje odnosa : Podentiteti također nasljeđuju odnose nadređenog entiteta.
  3. Nadjačavanje nasljeđivanja : Podentiteti mogu nadjačati ili dodati vlastite atribute ili ponašanja različita od nadređenog.
  4. Nasljedstvo sudjelovanja: Nasljeđivanje sudjelovanja u ER modeliranju odnosi se na nasljeđivanje ograničenja sudjelovanja s entiteta više razine (superklasa) na entitet niže razine (potklasa). Osigurava da se potklase pridržavaju istih pravila sudjelovanja u odnosima iako se atributi i odnosi nasljeđuju različito.
Generalizacija Specijalizacija i agregacija u ER modelu' loading='lazy' title=Primjer relacije

Primjer: U dijagramu entitet Vozilo ima odnos s entitetom Ciklus, ali ne bi automatski stekao odnos s entitetom Vozilo. Nasljeđivanje sudjelovanja odnosi se samo na nasljeđivanje ograničenja sudjelovanja, a ne na stvarne odnose između entiteta.

Agregacija

  • ER dijagram ne može prikazati odnos između entiteta i odnosa koji može biti potreban u nekim scenarijima.
  • U tim se slučajevima odnos s odgovarajućim entitetima agregira u entitet više razine.
  • Agregacija je apstrakcija kroz koju možemo predstaviti odnose kao skupove entiteta više razine.
Generalizacija Specijalizacija i agregacija u ER modelu' loading='lazy' title=Agregacija

Primjer: Zaposlenik koji radi na projektu može zahtijevati neke strojeve. Dakle, REQUIRE odnos je potreban između odnosa WORKS_FOR i entiteta MACHINERY. Korištenjem agregacije WORKS_FOR odnos sa svojim entitetima EMPLOYEE i PROJECT se agregira u jedan entitet, a odnos REQUIRE se stvara između agregiranog entiteta i STROJEVA.

Predstavljanje agregacije putem sheme

Za predstavljanje agregacije u relacijskoj shemi slijedite ove korake:

1. Napravite shemu za agregirani odnos

  • Ovo će se tretirati kao skup entiteta.
  • Uključuje primarne ključeve entiteta koji sudjeluju u osnovnom odnosu.
  • Također uključuje sve opisne atribute osnovnog odnosa.

2. Napravite shemu za odnos više razine (agregacija)

  • Ova shema uključuje: primarni ključ sheme agregiranog odnosa.
  • Primarni ključ pridruženog entiteta na koji se odnosi.
  • Svi dodatni opisni atributi ovog odnosa više razine.