Articles

GeeksforGeeks

Posted on

La denormalizzazione è una tecnica di ottimizzazione dei database in cui si aggiungono dati ridondanti a una o più tabelle. Questo può aiutarci ad evitare costose giunzioni in un database relazionale. Si noti che denormalizzazione non significa non fare la normalizzazione. È una tecnica di ottimizzazione che viene applicata dopo aver fatto la normalizzazione.

In un database tradizionale normalizzato, memorizziamo i dati in tabelle logiche separate e cerchiamo di minimizzare i dati ridondanti. Possiamo sforzarci di avere solo una copia di ogni dato nel database.

Per esempio, in un database normalizzato, potremmo avere una tabella Corsi e una tabella Insegnanti. Ogni voce in Corsi memorizzerebbe l’ID dell’insegnante per un Corso ma non il nome dell’insegnante. Quando abbiamo bisogno di recuperare una lista di tutti i corsi con il nome dell’insegnante, facciamo un join tra queste due tabelle.

In un certo senso, questo è ottimo; se un insegnante cambia il suo nome, dobbiamo solo aggiornare il nome in un posto.
Lo svantaggio è che se le tabelle sono grandi, potremmo passare un tempo inutilmente lungo facendo join su tabelle.
La denormalizzazione, quindi, raggiunge un compromesso diverso. Con la denormalizzazione, decidiamo che ci va bene un po’ di ridondanza e un po’ di sforzo extra per aggiornare il database al fine di ottenere i vantaggi di efficienza di un minor numero di join.

Pro della denormalizzazione:-

  1. Il recupero dei dati è più veloce dato che facciamo meno join
  2. Le query di recupero possono essere più semplici (e quindi con meno probabilità di avere bug),
    perché dobbiamo guardare meno tabelle.

Consigli della denormalizzazione:-

  1. Gli aggiornamenti e gli inserimenti sono più costosi.
  2. La denormalizzazione può rendere il codice di aggiornamento e inserimento più difficile da scrivere.
  3. I dati possono essere inconsistenti. Qual è il valore “corretto” per un dato?
  4. La ridondanza dei dati richiede più spazio di archiviazione.

In un sistema che richiede scalabilità, come quello di qualsiasi grande azienda tecnologica, usiamo quasi sempre elementi di database normalizzati e denormalizzati.

Article Tags :

DBMS

Tag dell’articolo :

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *