5° Anno TEORIA 2. Un modello concettuale: il diagramma ER | Page 20

14 . La progettazione concettuale : Il diagramma ER Vers . 3.0 – Novembre 2022
Strategie per la “ trasformazione ” di un ’ ISA all ’ interno di un diagramma ER
Per “ tarsformare ” una associazione per generalizzazione nel modello relazionale possiamo seguire tre strategie diverse :
a ) accorpamento delle entità figlie nell ’ entità padre ( n . b . strategia valida qualunque sia la tipologia di ISA individuata );
b ) accorpamento dell ’ entità padre nelle entità figlie ( n . b . strategia valida solo se l ’ ISA è TOTALE );
c ) sostituzione della generalizzazione con associazioni binarie di molteplicità 1:1 ( n . b . valida solo se l ’ ISA è ESCLUSIVA );
a ) Nell ’ accorpamento delle entità figlie nell ’ entità padre : le entità figlie S1 , S2 , …, SN vengono eliminate ed i loro attributi e le associazioni cui partecipano , vengono aggiunti all ’ entità padre G . All ’ entità padre viene aggiunto un altro attributo che serve per distinguere il tipo di ogni ennupla del padre ossia per distinguere se ciascuna ennupla appartiene a S1 , S2 , …, SN A seconda del valore di questo attributo saranno annullati ( NULL ) tutti quegli attributi aggiunti all ’ entità padre apparteneneti alle altre entità figlie .
OSS : Tale traduzione conviene quando le operazioni sulla base dati non fanno molta distinzione tra ennuple di una figlia o di un ’ altra e tra gli attributi di una figlia ed un ’ altra . In questo caso avremmo minimizzato gli accessi alla memoria anche se con uno spreco maggiore della stessa visto che vi saranno valori nulli per alcuni attributi di volta in volta
PRE-Diagramma ER
< K G > < Attributi di G >
G
< K G >
< Attributi di G > Tipo
Diagramma ER
G
< Attributi di S 1 > <......................>
< Attributi di S N >
Vincoli di integrità espliciti da aggiungere
< Attributi di S 1 >
S1
<.......................>
SN
< Attributi di S N >
V1 : ( G . Tipo IN (" S 1 ",...," S N "))
V2 : ( NEL CASO CHE ( G . Tipo ) SIA CASO " S 1 ": < devono essere NULL gli attributi di tutte le altre entità figlie tranne quelli di " S 1 ">
.............. CASO " S N ": < devono essere NULL gli attributi di tutte le altre entità figlie tranne quelli di " S N ">
FINE CASO )
Osservazioni sui vincoli espliciti imposti :
Il vincolo V1 può essere espresso anche attraverso l ’ utilizzo della disgiunzione logica ( OR ). I valori con i quali si decide di identificare le entità figlie sono lasciati al progettista ( suggerimento : i nomi delle stesse entità figlie )
Ovviamente per espirimere il vincolo V2 è possibile anche usare pseudoistruzioni selettive annidate .
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 20