Å bruke ER-modellen for større data skaper mye kompleksitet mens man designer en databasemodell. Så for å minimere kompleksiteten ble generalisering Spesialisering og aggregering introdusert i ER-modellen. Disse ble brukt til dataabstraksjon. Der en abstraksjonsmekanisme brukes til å skjule detaljer om et sett med objekter.
Generalisering
Generalisering er prosessen med å trekke ut vanlige egenskaper fra et sett med enheter og lage en generalisert enhet fra det. Det er en nedenfra og opp-tilnærming der to eller flere enheter kan generaliseres til en enhet på høyere nivå hvis de har noen attributter til felles.
Generalisering Eksempel: STUDENT og FAKULTET kan generaliseres til en enhet på høyere nivå kalt PERSON som vist i diagrammet nedenfor. I dette tilfellet blir vanlige attributter som P_NAME og P_ADD en del av en høyere enhet (PERSON) og spesialisert attributter som S_FEE bli en del av en spesialisert enhet (STUDENT).
Spesialisering
I spesialisering er en enhet delt inn i underenheter basert på dens egenskaper. Det er en ovenfra-ned-tilnærming der enheten på høyere nivå er spesialisert til to eller flere lavere nivåer enheter .
Spesialisering Eksempel: en ANSATTE-enhet i et ansattstyringssystem kan spesialiseres til UTVIKLERTESTER osv. I dette tilfellet blir vanlige attributter som E_NAME E_SAL etc. en del av en høyere enhet (EMPLOYEE) og spesialiserte attributter som TES_TYPE blir en del av en spesialisert enhet (TESTER).
Arv
Det er et viktig trekk ved generalisering og spesialisering. I spesialisering er en enhet på høyere nivå delt inn i underenheter på lavere nivå som arver dens attributter. I generalisering kombineres lignende enheter på lavere nivå til en enhet på høyere nivå som har vanlige attributter. I begge tilfeller lar arv underenheter gjenbruke egenskapene til overordnet enhet.
- Attributtarv: Den lar enheter på lavere nivå arve attributtene til enheter på høyere nivå og omvendt. I diagrammet er bilenhet en arv av kjøretøyenhet slik at bil kan tilegne seg attributter til kjøretøy. Eksempel: Bil kan få modellattributtet til kjøretøyet.
- Relasjonsarv : Underenheter arver også relasjoner til den overordnede enheten.
- Overordnet arv : Underenheter kan overstyre eller legge til sine egne attributter eller atferd som er forskjellig fra den overordnede.
- Deltakerarv: Deltakingsarv i ER-modellering refererer til nedarvingen av deltakelsesbegrensninger fra en enhet på høyere nivå (superklasse) til en enhet på lavere nivå (underklasse). Det sikrer at underklasser overholder de samme reglene for deltakelse i relasjoner, selv om attributter og relasjoner i seg selv arves annerledes.
Eksempel på relasjon Eksempel: I diagrammet har kjøretøyenheten et forhold til syklusenheten, men den vil ikke automatisk skaffe seg selve forholdet til kjøretøyenheten. Deltakelsesarv refererer bare til arv av deltakelsesbegrensninger, ikke de faktiske relasjonene mellom enheter.
Aggregasjon
- Et ER-diagram er ikke i stand til å representere forholdet mellom en enhet og et forhold som kan være nødvendig i enkelte scenarier.
- I disse tilfellene blir en relasjon med dens tilsvarende enheter aggregert til en enhet på høyere nivå.
- Aggregasjon er en abstraksjon der vi kan representere relasjoner som enhetssett på høyere nivå.
Aggregasjon Eksempel: en ansatt som jobber med et prosjekt kan kreve noe maskineri. Så REQUIRE-forholdet er nødvendig mellom forholdet WORKS_FOR og enheten MACHINERY. Bruk av aggregering WORKS_FOR-relasjon med enhetene EMPLOYEE og PROSJEKT aggregeres til en enkelt enhet, og relasjonen REQUIRE opprettes mellom den aggregerte enheten og MASKINERI.
Representerer aggregasjon via skjema
Følg disse trinnene for å representere aggregering i et relasjonsskjema:
1. Opprett skjema for det aggregerte forholdet
- Dette vil bli behandlet som et enhetssett.
- Den inkluderer primærnøklene til de deltakende enhetene i basisforholdet.
- Den inkluderer også eventuelle beskrivende attributter for basisforholdet.
2. Lag skjema for forholdet på høyere nivå (aggregering)
- Dette skjemaet inkluderer: Hovednøkkelen til det aggregerte relasjonsskjemaet.
- Primærnøkkelen til den tilknyttede enheten den er knyttet til.
- Eventuelle ytterligere beskrivende attributter for denne relasjonen på høyere nivå.