none
Normalizzazione RRS feed

  • Discussione generale

  • Salve a tutti,

    non so se questa è la sezione più adatta per porre questa domanda ma visto che devo sviluppare un DB in SQLServer per un esame allora la pongo qui sperando che qualcuno mi sia d'aiuto.

    Il problema è che tra le mie tabelle del DB che sto sviluppando ce n'è una che contiene dei coefficienti utilizzati per calcolare delle formule e questi coefficienti vengono quasi sempre utilizzati per operazioni row-level. Mi chiedevo se è più corretto creare la tabella in questa maniera:

    TAB_COEF(ANNO, COEF_1, COEF_2, ...., COEF_N)

    con ANNO PrimaryKey

    Oppure 

    TAB_COEF(ANNO, TIPO_COEF, VALORE_COEF)

    con ANNO e TIPO_COEF Primary key.

    Cosa mi consigliate?

    mercoledì 20 novembre 2013 13:49

Tutte le risposte

  • Personalmente adotterei la seconda soluzione, nel tempo potrebbe risultare più flessibile.

    La prima è indubbiamente più semplice, ma ha il difetto di essere legata ad un numero specifico di coefficienti. Se aumentano nel tempo, sei costretto a manipolare la struttura della tabella. 


    lunedì 25 novembre 2013 13:10
  • In entrambi i casi, ad ogni aggiunta (vuoi di colonna o di tipo) dovrai aggiungere la relativa logica, quindi eventuali rifattorizzazioni, nei casi principali, sono molto simili. Tuttavia, come dice Daniele, l'elasticità la puoi avere solo nella seconda versione, che si avvicina di più alla normalizzazione.

    Vi è anche però una cosa che qui non è valutabile, ovvero l'utilizzo che ne dovrai fare. Se l'esame è sulla normalizzazione, scegli la seconda, ma se devi fare qualcosa che non possiamo vedere che ti facilita la vita in "prima versione", segui quella.


    Alessandro Alpi SQL Server MVP

    martedì 26 novembre 2013 15:00
    Moderatore