Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Normalizzazione
mercoledì 02 aprile 2008 - 18.52
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gasp84
Profilo
| Newbie
3
messaggi | Data Invio:
mer 2 apr 2008 - 18:52
Buonsera a tutti,
volevo avere un parere sulla convenienza di normalizzare una relazione dati.
La mia situazione è la seguente:
ho un'unica tabellona da 26000 righe (quindi relativamente poche).
Poniamo caso che questa tabellona contenga l'elenco di tutti i comuni d'italia (è un esempio) con i seguenti campi:
Id_Comune|Nome_Comune|N_Abitanti|Sigla|Id_Provincia|Nome_provincia|Id_Regione|Nome_Regione|Id_Nazione|Nome_Nazione
La sorgente dati arriva dall'anagrafica del cliente...al fine di sviluppare un applicazione web è stato creato un db ad hoc in cui periodicamente verranno importati i dati provenienti da questa tabellona piatta.
Vista la struttura della tabella avevo pensato di normalizzare il tutto scindendo il "tabellone" in 4 tabelle (Comune,Provincia,regione,nazione)...(so che la tabella nazione non ha senso ma ripeto è solo un esempio)
Facendo in questo modo il numero di righe delle 4 tabelle diventerebbe 26000,750,45,15 (questi sono dati reali).
Sono piuttosto sicuro che per questioni di chiarezza e di manutenibilità del db è sicuramente meglio applicare il processo di normalizzazione. Se invece si considera semplicemente l'aspetto "performance", ho letto in giro, che la denormalizzazione porta dei vantaggi non trascurabili.
La domanda è: considerata anche la dimensione delle tabelle in questione mi consigliereste di normalizzare o no (considerando che l'applicazione web non dovrà sopportare grossi carichi di lavoro)?
grazie
Roberto
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 3 apr 2008 - 09:05
>Sono piuttosto sicuro che per questioni di chiarezza e di manutenibilità
>del db è sicuramente meglio applicare il processo di normalizzazione.
>Se invece si considera semplicemente l'aspetto "performance",
>ho letto in giro, che la denormalizzazione porta dei vantaggi
>non trascurabili.
>
>La domanda è: considerata anche la dimensione delle tabelle in
>questione mi consigliereste di normalizzare o no (considerando
>che l'applicazione web non dovrà sopportare grossi carichi di
>lavoro)?
Ciao Roberto,
Quando si progetta lo schema di un database OLTP, si procede SEMPRE a normalizzarne la struttura almeno fino alla 3a forma normale, in modo da eliminare la ridondanza dei dati.
Nel momento in cui un eventuale test di carico metta in evidenza problemi di performance non risolvibili con una corretta politica di indicizzazione, di isolation level o con la riscrittura del codice critico, allora si procede ad una OCULATA denormalizzazione, prevedendo in modo conscio alla gestione delle informazioni duplicate (generalmente tramite triggers).
Personalmente non mi sono quasi mai scontrato con questo genere di problemi, prediligendo una struttura normalizzata.
>grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !