logo

Apibendrinimas, specializacija ir agregavimas ER modelyje

ER modelio naudojimas didesniems duomenims sukuria daug sudėtingumo kuriant duomenų bazės modelį. Taigi, siekiant sumažinti sudėtingumą, ER modelyje buvo įdiegta specializacija ir agregacija. Jie buvo naudojami duomenų abstrakcijai. Kuriame abstrakcijos mechanizmas naudojamas objektų rinkinio detalėms paslėpti. 

Apibendrinimas

Apibendrinimas yra bendrų savybių ištraukimas iš objektų rinkinio ir iš jos sukuriamas apibendrintas objektas. Tai metodas iš apačios į viršų, kai du ar daugiau objektų gali būti apibendrinti iki aukštesnio lygio objekto, jei jie turi tam tikrų bendrų požymių.

Apibendrinimas Specializacija ir agregacija ER modelyje' title=Apibendrinimas

Pavyzdys: STUDENTAS ir DĖSTYTOJAS gali būti apibendrinti iki aukštesnio lygio subjekto, vadinamo ASMENS, kaip parodyta toliau pateiktoje diagramoje. Šiuo atveju bendri atributai, tokie kaip P_NAME ir P_ADD, tampa aukštesniojo atributo dalimi subjektas (ASMENS) ir specializuotas atributai kaip S_FEE tampa specializuoto subjekto (STUDENT) dalimi. 



Specializacija

Specializacijoje subjektas pagal savo požymius skirstomas į pogrupius. Tai metodas iš viršaus į apačią, kai aukštesnio lygio subjektas yra suskirstytas į du ar daugiau žemesnio lygio subjektai .

Apibendrinimas Specializacija ir agregacija ER modelyje' loading='lazy' title=Specializacija

Pavyzdys: EMPLOYEE subjektas Darbuotojų valdymo sistemoje gali būti specializuotas į KŪRĖJO TESTERIUS ir tt Šiuo atveju įprasti atributai, pvz., E_NAME E_SAL ir tt, tampa aukštesnio subjekto (EMPLOYEE) dalimi, o specializuoti atributai, tokie kaip TES_TYPE, tampa specializuoto subjekto (TESTER) dalimi. 

Paveldėjimas

Tai svarbus apibendrinimo ir specializacijos bruožas. Specializacijoje aukštesnio lygio subjektas yra suskirstytas į žemesnio lygio pobūdžius, kurie paveldi jo atributus. Apibendrinant panašūs žemesnio lygio objektai sujungiami į aukštesnio lygio esybę, turinčią bendrų atributų. Abiem atvejais paveldėjimas leidžia antriniams subjektams pakartotinai naudoti pirminio objekto ypatybes.

  1. Atributo paveldėjimas: Tai leidžia žemesnio lygio objektams paveldėti aukštesnio lygio objektų atributus ir atvirkščiai. Diagramoje Automobilis yra transporto priemonės objekto paveldėjimas, todėl automobilis gali įgyti transporto priemonės atributus. Pavyzdys: automobilis gali įgyti transporto priemonės modelio atributą.
  2. Santykių paveldėjimas : Subobjektai taip pat paveldi pagrindinio objekto ryšius.
  3. Pirminis paveldėjimas : Subobjektai gali nepaisyti arba pridėti savo atributus arba elgseną, kuri skiriasi nuo pirminio.
  4. Dalyvavimo paveldėjimas: Dalyvavimo paveldėjimas ER modeliavime reiškia dalyvavimo apribojimų paveldėjimą iš aukštesnio lygio subjekto (superklasės) į žemesnio lygio subjektą (poklasį). Tai užtikrina, kad poklasiai laikytųsi tų pačių dalyvavimo santykiuose taisyklių, nors patys atributai ir santykiai yra paveldimi skirtingai.
Apibendrinimas Specializacija ir agregacija ER modelyje' loading='lazy' title=Santykių pavyzdys

Pavyzdys: Diagramoje Transporto priemonės subjektas turi ryšį su ciklo objektu, tačiau jis automatiškai neįgytų ryšio su transporto priemonės objektu. Dalyvavimo paveldėjimas reiškia tik dalyvavimo apribojimų paveldėjimą, o ne tikruosius subjektų santykius.

Sujungimas

  • ER diagrama negali parodyti ryšio tarp objekto ir ryšio, kurio gali prireikti kai kuriais atvejais.
  • Tokiais atvejais ryšys su atitinkamais subjektais sujungiamas į aukštesnio lygio subjektą.
  • Agregavimas yra abstrakcija, per kurią galime vaizduoti santykius kaip aukštesnio lygio objektų rinkinius.
Apibendrinimas Specializacija ir agregacija ER modelyje' loading='lazy' title=Sujungimas

Pavyzdys: Darbuotojui, dirbančiam su projektu, gali prireikti tam tikros technikos. Taigi tarp ryšio WORKS_FOR ir objekto MACHINERY reikia REQUIRE ryšio. Naudojant agregaciją WORKS_FOR ryšys su savo subjektais EMPLOYEE ir PROJECT sujungiamas į vieną objektą ir tarp apibendrintos įmonės ir MACHINERY sukuriamas ryšys REQUIRE.

Atstovauja agregacijai per schemą

Norėdami pateikti agregaciją reliacinėje schemoje, atlikite šiuos veiksmus:

1. Sukurkite suvestinio ryšio schemą

  • Tai bus traktuojama kaip objektų rinkinys.
  • Tai apima pagrindinius dalyvaujančių objektų raktus baziniame ryšyje.
  • Tai taip pat apima visus aprašomuosius bazinio ryšio atributus.

2. Sukurkite aukštesnio lygio santykių (agregavimo) schemą

  • Ši schema apima: pirminį apibendrintų santykių schemos raktą.
  • Pagrindinis susieto objekto, su kuriuo jis yra susijęs, raktas.
  • Bet kokie papildomi aprašomieji šio aukštesnio lygio ryšio atributai.