Progettazione logica

La progettazione logica è la fase della progettazione delle basi di dati successiva alla formazione del modello concettuale, quello E-R, e precedente alla formazione del modello logico.

Partendo dal modello E-R bisogna attuare una serie di perfezionamenti per definire al meglio il modello logico composto da entità e suoi attributi, alcuni dei quai chiavi, altri attributi relazionali.

Riduzione delle ridondanze

modifica

Possono essere dovute ad attributi che si trovano in più entità, che quindi andranno riportate su un'unica entità e poi referenziati alle altre entità.

In presenza di strutture cicliche nel modello concettuale è conveniente sfruttare la relazione a cascata: se tre entità sono connesse in modo ciclico, posso eliminare il ciclo e far ricadere un attributo transitivamente, A->B->C->A diventerà A->B->C.

Normalizzazione degli attributi

modifica

Potrebbero esistere attributi multipli, ad esempio Indirizzo comprende (via, CAP, numero civico) che devono essere ridotti ad attributi semplici ed unici.

Potrebbero esistere attributi con cardinalità x:y e che dovranno essere trasformati in entità in relazione con l'entità primaria, con chiave primaria pari alla chiave dell'entità principale e con gli attributi relativi a tipologia ed eventuali quantità e/o valore.

Eliminazione delle generalizzazioni

modifica

Esistono 3 casi:

- collasso verso l'alto, quando le entità figlie collassano, cioè si riversano, nell'entità padre e le proprie relazioni di legano all'entità padre, che vedrà popolarsi di nuovi attributi che sono il tipo (figlia A e/o figlia B) e di eventuali attributi aggiuntivi delle entità figlie;

- collasso verso il basso, quando le entità figlie diventano età a sé stanti e l'entità padre fa ricadere i propri attributi e relazioni nelle entità figlie (non vale per le entità parziali sovrapposte);

- mantenimento delle entità, quando l'entità padre e le entità figlie rimangono a sé stanti e sono connesse da relazioni, ma mantengono le proprie relazioni con altre entità.