title: Progettazione logica
text: # 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à.
  
  