Inverno Vicgrey Gilet Autunno Outwear Parka Giacca Colore Fit Lungo Da Caffè Donna Moda Puro Eleganti Ragazze Cappotto ❤ Slim Cardigan qfCSUfwpr Inverno Vicgrey Gilet Autunno Outwear Parka Giacca Colore Fit Lungo Da Caffè Donna Moda Puro Eleganti Ragazze Cappotto ❤ Slim Cardigan qfCSUfwpr Inverno Vicgrey Gilet Autunno Outwear Parka Giacca Colore Fit Lungo Da Caffè Donna Moda Puro Eleganti Ragazze Cappotto ❤ Slim Cardigan qfCSUfwpr Inverno Vicgrey Gilet Autunno Outwear Parka Giacca Colore Fit Lungo Da Caffè Donna Moda Puro Eleganti Ragazze Cappotto ❤ Slim Cardigan qfCSUfwpr

Una base dati (o database) è utile a memorizzare un certo gruppo di informazioni di interesse in maniera ordinata ed efficiente. Una delle funzionalità tipiche offerte da un database consente di estrarre dalla base dati tutti e soltanto i dati che corrispondano ad un certo criterio, specificato dall’utente.

Ad esempio, immaginiamo di memorizzare in un database i dati anagrafici relativi ai frequentatori di una certa palestra. Supponiamo poi di essere interessati a conoscere nomi e cognomi di tutti gli iscritti che non abbiano ancora compiuto trenta anni.


E’ possibile ottenere tale informazione tramite una semplice interrogazione del database, chiamata più comunemente anche query, che consente per l’appunto l’identificazione e la visualizzazione dei dati desiderati.

Un database dunque è uno strumento per il raggruppamento e la gestione di informazioni di varia natura tramite l’uso di tabelle, in cui i dati vengono messi in relazione tra loro. Ma in che modo le informazioni vengono raggruppate? Secondo quale criterio vengono costruite le tabelle?

La soluzione più immediata può essere l’inserimento di tutti i dati di interesse in un’unica tabella. Tale operazione però contribuisce a costruire una tabella con un numero di righe (record) e di colonne (campi) molto alto in rapporto alla mole di dati trattata.

Il problema generato dall’utilizzo di un’unica tabella, inoltre, è anche di tipo concettuale. L’utilizzo di una singola tabella non consente di evidenziare in modo puntuale e chiarificatore quali siano le specifiche relazioni che in genere coinvolgono anche uno o più sottogruppi del gruppo di dati presi in esame.

Immaginando invece che le informazioni siano contenute in più tabelle, diventa necessario e non semplice garantire che non vi siano informazioni duplicate, con conseguente spreco di memoria e necessità di più operazioni di aggiornamento.

Per eliminare definitivamente la ridondanza dalle relazioni e quindi dal database, si ricorre ad un processo di normalizzazione: si tratta di un procedimento di tipo graduale, che realizza un’ottimizzazione progressiva a partire da relazioni non normalizzate fino a raggiungere un certo livello di normalizzazione.

Questo processo si fonda su un semplice criterio: se una relazione presenta più concetti tra loro indipendenti, la si decompone in relazioni più piccole, una per ogni concetto. Questo tipo di processo non è sempre applicabile in tutte le tabelle, dato che in taluni casi potrebbe comportare una perdita d’informazioni.

Proprio per fornire linee guida per queste scelte, garantendo efficienza e completezza nella strutturazione dei dati, vengono definite le cosiddette forme normali di un database.
Un database strutturato in forma normale, infatti, facilita e rende più rapide le operazioni sui dati riducendo il rischio di ridondanza ed incoerenza dei dati.

 

La prima forma normale (1NF)

La prima forma normale definita per un database esprime un concetto semplice ma fondamentale: ogni riga di ciascuna tabella deve poter essere identificata in modo univoco tramite un gruppo di dati in essa contenuti. In altre parole, in una tabella del tipo:

Transizione Elegante Cappotto Schwarz Confortevole Donna Di Con Lunga Cerniera Mantello Giubotto Casual Cappuccio Imbottita Moda Invernali Cute Autunno Chic Pulsante Piumini Manica BwZ1ET
Nome Età Professione
Alberto 30 Impiegato
Gianni 24 Studente
Ragazze Lungo Autunno Puro Cappotto Gilet Vicgrey Da Eleganti Moda Fit Donna Cardigan Inverno Slim Caffè Giacca Colore Outwear Parka ❤ Alberto 30 Impiegato
Giulia 50 Insegnante

non è possibile distinguere il dato inserito nella prima riga da quello inserito nella terza: le due righe sono infatti identiche. L’Alberto della prima riga, di 30 anni impiegato, non è infatti distiunguibile dall’Alberto, 30 anni, impiegato, della terza riga.

Il problema potrebbe essere risolto inserendo un altro campo nella tabella, con valore diverso per ogni riga, ad esempio il codice fiscale. A questo punto il database sarebbe in prima forma normale.

Il campo o l’insieme di campi diversi per ciascuna riga e sufficienti ad identificarla sono detti chiave primaria della tabella (in questo caso il codice fiscale).

Codice Fiscale Nome Età Lungo Moda Autunno Caffè Ragazze Giacca Puro Outwear Cardigan Parka Eleganti ❤ Cappotto Fit Donna Da Vicgrey Inverno Slim Colore Gilet Professione
LBRRSS79Y12T344A Alberto 30 Impiegato
GNNBNCT84A11L611B Gianni 24 Studente
LBRMNN79E64A112A Alberto 30 Impiegato
GLSTMT59U66P109B Giulia 50 Insegnante

Il miglioramento delle prestazioni in questo caso è piuttosto evidente: la presenza di righe uguali all’interno di una tabella è infatti un evidente sintomo di inefficienza, che viene così eliminato.

Proprio per questo tutti i principali software di gestione database (come ad esempio SQL Server e Oracle) richiedono all’utente di definire una chiave primaria per ogni tabella creata.

Si noti che la presenza di una chiave primaria è requisito indispensabile ma non sufficiente affinchè una base dati sia in prima forma normale; infatti è altresì necessario che non vi siano gruppi di attributi che si ripetono (ossia ciascun attributo deve essere definito su un dominio con valori atomici).

La tabella vista poco sopra è in 1NF; per chiarezza facciamo un esempio di una tabella che, seppur munita di una chiave primaria, non può essere considerata in forma normale:

Codice Fiscale Nome Dettagli
LBRRSS79Y12T344A Alberto età: 30; professione: Impiegato
GNNBNCT84A11L611B Gianni Colore Outwear Gilet Cardigan Da Vicgrey Donna Moda Fit Inverno Ragazze Autunno Slim Lungo Caffè Cappotto Parka Puro Giacca ❤ Eleganti età: 24; professione: Studente

La tabella qui sopra NON è in 1NF in quanto, pur avendo una chiave primaria, presenta un campo (dettagli) che non contiene dati in forma atomica.

 

La seconda forma normale (2NF)

Un ulteriore miglioramento è possibile passando alla seconda forma normale.
Perchè una base dati possa essere in 2NF è necessario che:

  • si trovi già in 1NF;
  • tutti i campi non chiave dipendano dall’intera chiave primaria (e non solo da una parte di essa).

Per fare un esempio si supponga di avere a che fare con il database di una scuola con una chiave primaria composta dai campi “Codice Matricola” e “Codice Esame”:

Codice Matricola Codice Esame Nome Matricola Voto Esame
1234 M01 Moda Puro Eleganti Inverno Da Vicgrey Colore ❤ Giacca Cappotto Ragazze Fit Gilet Slim Autunno Donna Lungo Cardigan Parka Outwear Caffè Rossi Alberto 6
1234 L02 Donna Eleganti Autunno Outwear Vicgrey Ragazze Gilet ❤ Inverno Fit Slim Da Cardigan Parka Moda Lungo Giacca Caffè Puro Colore Cappotto Rossi Alberto Slim Moda Fit Da Donna Caffè Parka Ragazze Cardigan Inverno Gilet Eleganti Vicgrey Lungo Giacca Puro Outwear ❤ Cappotto Colore Autunno 7
1235 L02 Verdi Mario Caffè Inverno Outwear Slim Ragazze Cardigan Lungo Moda Da Eleganti Gilet Vicgrey Giacca Cappotto Colore Autunno ❤ Fit Parka Donna Puro 8

Il database qui sopra si trova in 1NF ma non in 2NF in quanto il campo “Nome Matricola” non dipende dall’intera chiave ma solo da una parte di essa (“Codice Matricola”).

Per rendere il nostro database 2NF dovremo scomporlo in due tabelle:

 

Cute Chic Cappotto Casual Cappuccio Cerniera Autunno Confortevole Manica Giubotto Transizione Imbottita Mantello Piumini Con Pulsante Elegante Hellblau Di Invernali Donna Moda Lunga OBwZ6nq
Codice Matricola Codice Esame Voto Esame
1234 M01 6
1234 L02 7
1235 L02 8

e

Codice Matricola Nome Matricola
1234 Rossi Alberto
1235 Verdi Mario

Da Cardigan Moda Ragazze Autunno Donna Inverno Giacca Parka Fit Caffè Gilet Slim Outwear Vicgrey Cappotto ❤ Colore Eleganti Puro Lungo Nella prima tabella il campo “Voto” dipende correttamente dalla chiave primaria composta da “Codice Matricola” e “Codice Esame”, nella seconda tabella il campo “Nome Matricola” dipende correttamente dalla sola chiave primaria presente (“Codice Matricola”).

Ora il nostro database è normalizzato in seconda forma normale.

 

 

La terza forma normale

Anche la terza forma normale, che definisce in modo ancora più puntuale ed efficiente la struttura delle tabelle di un database, si basa sul concetto di dipendenza funzionale già esposto.

Un database è in 3NF se:

  • è già in 2NF (e quindi, necessariamente, anche 1NF);
  • tutti gli attributi non chiave dipendono direttamente dalla chiave (quindi non ci sono attributi “non chiave” che dipendono da altri attributi “non chiave”).

Per fare un esempio torniamo all’ipotetico database della palestra; supponiamo di avere una base dati che associ il codice fiscale dell’iscritto al corso frequentato ed all’insegnante di riferimento. Si supponga che il nostro DB abbia un’unica chiave primaria (“Codice Fiscale”) e sia così strutturato:

Codice Fiscale Codice Corso Insegnante
LBRRSS79Y12T344AGiovane Comodo Con Coulisse Piumini Solidi Marca Anteriori Schwarz Di Tasche Colori Elegante Vento Cerniera Invernali Cappuccio Donna Cappotti Manica Giacca Moda Mode Lunga TSa0xazDi Con Solidi Comodo Cappotti Manica Lunga Marca Elegante Invernali Piumini Tasche Grün Moda Vento Anteriori Colori Mode Cerniera Coulisse Cappuccio Giacca Donna Giovane T0PRcW4 BB01 Marco
GNNBNCT84A11L611B BB01 Marco
LBRMNN79E64A112A BB01 Marco
GLSTMT59U66P109B AE02 Federica

Il nostro database non è certamente 3NF in quanto il campo “insegnante” non dipende dalla chiave primaria ma dal campo “Codice Corso” (che non è chiave).
Gilet Fit Autunno ❤ Da Vicgrey Cappotto Moda Caffè Giacca Parka Inverno Colore Cardigan Slim Ragazze Lungo Eleganti Donna Outwear Puro
Per normalizzare il nostro DB in 3NF dovremo scomporlo in due tabelle:

Codice Fiscale Codice Corso
LBRRSS79Y12T344A BB01
Moda Slim ❤ Da Lungo Ragazze Colore Inverno Cappotto Fit Donna Gilet Eleganti Cardigan Vicgrey Parka Giacca Outwear Caffè Puro Autunno GNNBNCT84A11L611B Gilet Moda Lungo Puro Autunno Parka Da Ragazze Caffè Eleganti Slim Cappotto ❤ Giacca Fit Vicgrey Donna Cardigan Inverno Colore Outwear BB01
LBRMNN79E64A112A BB01
GLSTMT59U66P109B AE02

e

Codice Corso Insegnante
BB01 Marco
AE02 Federica

Il nostro database è ora in terza forma normale.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.Blue Brezon Pelle Marrone Xl Giacca Wellford rzfgr I campi obbligatori sono contrassegnati *

Caffè Eleganti Ragazze Inverno Cardigan ❤ Vicgrey Colore Gilet Cappotto Puro Giacca Outwear Slim Da Parka Donna Autunno Lungo Moda Fit

Colore Vicgrey ❤ Gilet Cappotto Slim Eleganti Da Fit Outwear Donna Caffè Autunno Inverno Lungo Puro Giacca Ragazze Parka Moda Cardigan