Progettazione logica
# 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

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

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

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à.

