logo

Normalizzazione

Un database di grandi dimensioni definito come un'unica relazione può comportare la duplicazione dei dati. Questa ripetizione dei dati può comportare:

  • Rendere le relazioni molto grandi.
  • Non è facile mantenere e aggiornare i dati poiché comporterebbe la ricerca di molti record in relazione.
  • Spreco e scarso utilizzo dello spazio su disco e delle risorse.
  • Aumenta la probabilità di errori e incoerenze.

Quindi, per gestire questi problemi, dovremmo analizzare e scomporre le relazioni con dati ridondanti in relazioni più piccole, più semplici e ben strutturate che soddisfino le proprietà desiderabili. La normalizzazione è un processo di scomposizione delle relazioni in relazioni con meno attributi.

Cos'è la normalizzazione?

  • La normalizzazione è il processo di organizzazione dei dati nel database.
  • La normalizzazione viene utilizzata per ridurre al minimo la ridondanza da una relazione o un insieme di relazioni. Viene anche utilizzato per eliminare caratteristiche indesiderate come anomalie di inserimento, aggiornamento e cancellazione.
  • La normalizzazione divide la tabella più grande in tabelle più piccole e le collega utilizzando le relazioni.
  • La forma normale viene utilizzata per ridurre la ridondanza dalla tabella del database.

Perché abbiamo bisogno della normalizzazione?

La ragione principale per normalizzare le relazioni è eliminare queste anomalie. La mancata eliminazione delle anomalie porta alla ridondanza dei dati e può causare l'integrità dei dati e altri problemi man mano che il database cresce. La normalizzazione consiste in una serie di linee guida che aiutano a guidarti nella creazione di una buona struttura del database.

Le anomalie nella modifica dei dati possono essere classificate in tre tipi:

    Anomalia di inserimento:L'anomalia di inserimento si riferisce a quando non è possibile inserire una nuova tupla in una relazione a causa della mancanza di dati.Anomalia di cancellazione:L'anomalia di eliminazione si riferisce alla situazione in cui l'eliminazione dei dati comporta la perdita involontaria di altri dati importanti.Anomalia di aggiornamento:L'anomalia di aggiornamento si verifica quando un aggiornamento di un singolo valore di dati richiede l'aggiornamento di più righe di dati.

Tipi di forme normali:

La normalizzazione funziona attraverso una serie di fasi chiamate Forme normali. Le forme normali si applicano alle relazioni individuali. La relazione si dice in forma normale particolare se soddisfa i vincoli.

Di seguito sono riportati i vari tipi di forme normali:

Normalizzazione del DBMS
Forma normale Descrizione
1NF Una relazione è in 1NF se contiene un valore atomico.
2NF Una relazione sarà in 2NF se è in 1NF e tutti gli attributi non chiave sono pienamente funzionali e dipendono dalla chiave primaria.
3NF Una relazione sarà in 3NF se è in 2NF e non esiste alcuna dipendenza di transizione.
BCNF Una definizione più forte di 3NF è nota come forma normale di Boyce Codd.
4NF Una relazione sarà in 4NF se è nella forma normale di Boyce Codd e non ha dipendenze multivalore.
5NF Una relazione è in 5NF. Se è in 4NF e non contiene alcuna dipendenza dall'unione, l'unione dovrebbe avvenire senza perdite.

Vantaggi della normalizzazione

  • La normalizzazione aiuta a ridurre al minimo la ridondanza dei dati.
  • Maggiore organizzazione complessiva del database.
  • Coerenza dei dati all'interno del database.
  • Progettazione di database molto più flessibile.
  • Rafforza il concetto di integrità relazionale.

Svantaggi della normalizzazione

  • Non è possibile iniziare a costruire il database prima di sapere di cosa ha bisogno l'utente.
  • Le prestazioni peggiorano quando si normalizzano le relazioni con forme normali più elevate, ovvero 4NF, 5NF.
  • È molto dispendioso in termini di tempo ed è difficile normalizzare relazioni di livello superiore.
  • Una scomposizione imprudente può portare a una cattiva progettazione del database, con conseguenti seri problemi.