Qual è la prima forma normale?

Prima di comprendere la prima forma normale, si deve avere la conoscenza di cosa è la normalizzazione e perché viene fatta? La normalizzazione in termini generali è la tecnica di organizzazione dei dati nel database al fine di ridurre l'anomalia di inserimento, cancellazione e aggiornamento e rimuovere la ridondanza dei dati. Questo processo divide le tabelle più grandi in tabelle più piccole e le collega tra loro attraverso le relazioni delle chiavi primarie ed esterne. I dati duplicati e non normalizzati non solo consumano memoria aggiuntiva ma rendono difficile la gestione della tabella durante l'inserimento, l'eliminazione e l'aggiornamento delle tabelle all'aumentare del numero di dati. Pertanto è molto importante normalizzare le tabelle prima di progettare il database di qualsiasi applicazione.

Il primo modulo normale scritto come 1NF imposta le regole fondamentali della normalizzazione dei dati ed è il primo modulo utilizzato durante la normalizzazione dei dati delle tabelle. Stabilisce alcuni principi di base della normalizzazione dei dati che devono essere rispettati da ogni tabella. Di seguito alcuni dei principi:

  • Ogni colonna dovrebbe avere singoli valori atomici (valori che non possono essere ulteriormente divisi).
  • Ogni colonna nella tabella non ha valori compositi e valori ripetuti in quanto rende difficile la ricerca dei valori per la colonna con più valori. Quindi ogni colonna deve avere un singolo valore univoco.
  • I valori memorizzati in una colonna devono essere dello stesso dominio in 1NF.
  • Tutte le colonne presenti nella tabella devono avere nomi univoci.
  • Una tabella deve avere una chiave primaria univoca utilizzata per identificare ogni record in modo diverso.

Come funziona First Normal Form?

Secondo i principi principali di 1NF sopra menzionati,

  • Non dovrebbero esserci valori compositi per una colonna che può essere ulteriormente suddivisa, se in una tabella è presente una colonna con un valore che può essere ulteriormente suddiviso, è necessario creare una tabella separata per quell'attributo con colonne diverse in quella tabella con una chiave primaria univoca. Ad esempio, in una tabella Employee, per il dipendente_indirizzo che può essere ulteriormente suddiviso, dovrebbe esserci una tabella separata di Employee_address con Employee_id come chiave primaria e Numero civico, Città e Codice PIN come colonne diverse.

Dipendente da tavolo (prima di 1NF)

emp_idEmp_nameEmp_ageEmp_address
101Raghu25Colonia di Xyz, agra, 258996
102Rakesh28Piatto 304, strada xyz, lucknow, 568975
103Rahul45Casa n .123, vicino all'ospedale, varanasi, 245687

Dato che Emp_address ha così tanti dati per l'indirizzo, per un singolo Dipendente, per essere in 1NF, la tabella sopra può essere scomposta in due tabelle sotto:

Tabella 1: Employee_details (dopo 1NF)

emp_idEmp_nameEmp_age
101Raghu25
102Rakesh28
103Rahul45

Tabella2: Employee_address (dopo 1NF)

emp_idEmp_housenoEmp_cityEmp_pincode
101Numero civico 564, colonia Xyzagra258.996
102Piano 304, strada xyzlucknow568.975
103Casa n .123, vicino all'ospedalevaranasi245.687
    Dovrebbero esserci valori atomici per una colonna che è indivisibile in 1NF. Ad esempio, in una tabella Employee, possono esserci più progetti Emp_ che ha gestito fino ad ora. Al fine di avere un registro di tutti i progetti di quel dipendente, dovrebbe esserci un registro separato per ogni progetto di un dipendente con un valore univoco invece che i progetti siano separati da ", "

Tabella: Emp_projects (prima di 1NF)

emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013ITabc, jkl
1022ITbcd
1035contiAbc, cfg, xyz, hjk

Tabella: Emp_projects (dopo 1NF)

emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013ITabc
1013ITjkl
1022ITbcd
1035contiabc
1035contiCFG
1035contixyz
1035contiHJK

Tabella: Emp_projects con più valori ripetuti nell'esempio sopra può essere ulteriormente suddiviso in due tabelle per ridurre la ripetizione:
Non dovrebbero essere presenti valori ripetuti nella tabella: i valori ripetuti consumano molta memoria aggiuntiva e rallentano anche la ricerca e l'aggiornamento e la manutenzione del database diventa difficile. Ad esempio, nella tabella sopra di Employee_Projects, ci sono molti valori ripetitivi non necessari di Emp_id, Emp_years_of_experience ed Emp_dept, quindi è necessario creare una nuova tabella per questo al fine di ridurre la ripetizione dei valori.

Tabella 1:

emp_idEmp_years_of_experienc eEmp_dept
1013IT
1022IT
1035conti

Tavolo 2:

emp_idEmp_projects
101abc
101jkl
102bcd
103abc
103CFG
103xyz
103HJK

Vantaggi della prima forma normale

Di seguito sono riportati alcuni dei vantaggi di First Normal Form (1NF):

  • Uno dei principali vantaggi di 1NF è che rimuove i valori ripetuti non necessari creando una tabella separata e quindi non crea alcun problema durante l'inserimento, l'eliminazione e l'aggiornamento dei valori nel database.
  • Lavorare con le tabelle con le colonne con più valori separati da ', ' è molto difficile mentre si cerca un valore specifico nel database suddividendo tutti i valori di una colonna e convertendoli di nuovo in un formato specifico, sprecando molto tempo e memoria dentro. 1NF semplifica la creazione di righe diverse per valori diversi.
  • 1NF costituisce la base ed è il principio principale che viene seguito durante la creazione di un database e quindi è il modulo normale più importante per le tabelle per procedere ulteriormente alla normalizzazione con 2NF e 3NF.
  • 1NF è importante in quanto crea una dipendenza funzionale tra le due tabelle utilizzando la chiave primaria e la chiave esterna che svolge un ruolo cruciale mentre si lavora con le tabelle di un database.
  • 1NF consente agli utenti di utilizzare le query del database in modo efficace in quanto rimuove l'ambiguità rimuovendo i valori nulli e multipli di una colonna che crea problemi importanti in futuro durante l'aggiornamento e l'estrazione del database.

Conclusione

Mentre si lavora con i database e si creano tabelle per qualsiasi applicazione all'inizio, è molto importante normalizzare tutte le tabelle poiché aiuta ad eliminare l'inserzione, la cancellazione e l'aggiornamento delle anomalie. La normalizzazione rimuove anche i costi e i tempi futuri. Meno valori nulli e meno dati ridondanti rendono il database più compatto. Attraverso la normalizzazione vengono create più tabelle che aiutano nella manutenzione semplice ed efficiente dei dati. Attraverso la normalizzazione, ovviamente, le migliori prestazioni di ricerca e ordinamento sono assicurate da indici e chiavi e 1NF svolge un ruolo vitale in esso.

Articoli consigliati

Questa è una guida alla prima forma normale. Qui discutiamo la definizione, il funzionamento e i vantaggi della prima forma normale insieme ai suoi esempi. Puoi anche consultare i seguenti articoli per saperne di più -

  • Che cos'è MySQL?
  • Cos'è lo schema MySQL?
  • Operatori MySQL
  • Server MySQL