Ristrutturazione Schemi E-R
La ristrutturazione si suddivide in una serie di passi da fare in sequenza :- Analisi delle ridondanze: si decide se eliminare o no ridondanze dello schema
- Eliminazione delle generalizzazioni: tutte le generalizzazioni dello schema vanno sostituite da altri costrutti
- Partizionamento/accorpamento entità e associazioni : si decide se partizionare o accorpare conceti dello schema
- Scelta degli identificatori primari: scelta delle chiavi e delle superchiavi
1) ANALISI DELLE RIDONDANZE
Si analizzano le varie ridondanze e si guarda in base al costo delle varie operazioni se è conveniente o meno mantenerle.
2) ELIMINAZIONE DELLE GENERALIZZAZIONI
Si effettua perchè le basi di dati non permettono la rappresentazione di generalizzazioni. Esistono tre tipi di eliminazione:
- Accormapento delle figlie nel padre: conveniente quando le operazioni non fanno molta distinzione tra occorrenze e attributi
- Accorpamento del padre nelle figlie : possibile solo se la generalizzazione è totale ( altrimenti alcune occorrenze del padre non verrebbero rappresentate ). Conveniente quando le operazioni si riferiscono solo a una specifica figlia.
- Sostituzione delle generalizzazioni con associazioni : conveniente quando la generalizzazione non è totale e ci sono operazioni solo su una delle figlie o sul padre. Le figlie vengono identificate esternamente dal padre.
3) PARTIZIONAMENTO/ACCORPAMENTO DEI CONCETTI
Entità e associazioni di uno schema E-R possono essere partizionati o accorpati per garantire efficienza nelle operazioni.
- Partizionamento di entità : 1) decomposizione verticale si suddivide il concetto operando su i suoi attributo 2) decomposizione orizzontale si opera eulle occorrenze
- Eliminazione attributi multivalore: necessaria perchè il modello relazionale non permette di rappresentare in maniera diretta questo tipo di attributo
- Accorpamento di entità : in genere su associazioni uno a uno, effetto collaterale possibile presenza di valori nulli.
4)SCELTA DEGLI IDENTIFICATORI PRINCIPALI
La scelta degli identificatori principali è essenziale.I criteri di scelta sono:
- Gli attributi con valori nulli non possono costituire identificatori principali
- Un identificatore principale composto da uno o pochi attributi è da preferire
- Un identificatore interno è da preferire ad uno esterno
- E' da preferire un identificatore utilizzato da molte operazioni per accedere alle occorrenze di una entità