Sei sulla pagina 1di 3

Il modello relazionale non rappresenta le gerarchie del modello E-R, e quindi vanno sono sostituite da entit e associazioni.

Ci sono tre metodi per eliminare le gerarchie:


mantenimento delle entit con associazioni; collasso verso lalto; collasso verso il basso.

Prendiamo come esempio il seguente schema E-R:

Ora vediamo come nei tre casi pu essere sostituita la gerarchia. Mantenimento delle entit con associazioni

Tutte le entit vengono mantenute. Le entit figlie vengono messe in associazione con lentit padre e sono identificate esternamente tramite lassociazione. La cardinalit (0,1) indica che per tale associazione l entit padre pu avere zero o una entit figlio. Mentre (1,1) che l entit figlio pu avere un solo padre.

Collasso verso lalto Il collasso verso lalto riunisce tutte le entit figlie nellentit padre. Otterremo una cosa di questo tipo:

E1 ed E2 vengono eliminate e le loro propriet vengono aggiunte all entit padre . Gli attributi obbligatori per le entit figlie divengono opzionali per il padre , indicato dalla cardinalita (0,1), con la conseguenza che si avr una certa percentuale di valori nulli.

All entit ottenuta viene aggiunto un ulteriore attributo (selettore) che specifica se una istanza di E appartiene a una delle sottoentit. Se la gerarchia era totale ed esclusiva il selettore ha N valori, quante sono le sottoentit. Se la gerarchia era parziale esclusiva il selettore ha N+1 valori; il valore in pi serve per le istanze che non appartengono ad alcuna sottoentit. Se avessimo un overlapping occorrerebbero tanti selettori booleani quante sono le sottoentit. Vediamo di seguito un esempio di uno schema in cui stata collassata la gerarchia verso l alto:

Collasso verso il basso Si elimina lentit padre trasferendone gli attributi su tutte le entit figlie. Una associazione del padre replicata, tante volte quante sono le entit figlie la soluzione interessante in presenza di molti attributi di specializzazione (con il collasso verso lalto si avrebbe un eccesso di valori nulli).

Si noti che se la copertura parziale non si pu fare il collasso verso il basso. Dove mettere gli E che non sono n E1, n E2 ? Mentre se la copertura overlapping introduce ridondanza, infatti per una istanza presente sia in E1 che in E2 si rappresentano due volte gli attributi di E. Vediamo di seguito un esempio di uno schema in cui stata collassata la gerarchia verso il basso:

Potrebbero piacerti anche