Qual è la seconda forma normale?

  • In un sistema di gestione di database relazionali, la coerenza e la dipendenza dei dati sono della massima importanza. In genere, i moduli normali vengono utilizzati per evitare la ridondanza dei dati. La ridondanza nei dati porta a anomalie come aggiornamento, inserimento ed eliminazione. Nell'anomalia di aggiornamento, se una tabella contiene dati ridondanti, durante l'aggiornamento dei record, questi non vengono aggiornati correttamente, il che risulta incoerente nei dati.
  • In caso di anomalia dell'inserimento, possiamo comprenderlo meglio prendendo un esempio di una colonna che non può essere aggiornata con valori null se la tabella non consente valori null. L'anomalia di eliminazione viene visualizzata in figura, se è necessario eliminare un determinato record e se tale record è presente in altre righe della tabella, quindi l'eliminazione di quel record specifico, eliminerà anche il record dalle altre righe.
  • Per superare l'aggiornamento, inserire ed eliminare anomalie, i dati devono essere normalizzati. La normalizzazione elimina i dati ridondanti e garantisce anche le dipendenze dei dati. Inoltre, la normalizzazione aiuta a archiviare i dati logicamente e riduce lo spazio per archiviare il database.
  • Varie forme normali che vengono comunemente utilizzate nel sistema di gestione di database relazionali sono la prima forma normale, la seconda forma normale, la terza forma normale, la forma normale di Boyce-Codd (BCNF), ecc. Per ottenere la seconda forma normale, la prima forma normale dovrebbe essere raggiunto per primo, che è uno dei criteri per rendere la tabella o i dati in seconda forma normale. La regola per First Normal Form (1NF) è che un attributo di una colonna non può contenere più valori, ma dovrebbe contenere valori atomici.

Come funziona la seconda forma normale?

Prima di approfondire il concetto di normalizzazione, concentriamoci su alcuni elementi fondamentali coinvolti nelle tabelle e nelle relazioni del database. Una chiave in RDBMS viene utilizzata per identificare i record in modo univoco in una tabella e una chiave può essere una singola colonna o più colonne. Una chiave primaria è una singola colonna utilizzata per identificare i record in modo univoco. Una chiave primaria composita è composta da più colonne, che viene anche utilizzata per identificare record univoci. Nella seconda forma normale, dobbiamo ottenere una chiave primaria a colonna singola. Una chiave esterna in una tabella viene utilizzata per identificare i record in un'altra tabella in modo univoco. Nella seconda forma normale, ogni attributo non chiave nella relazione deve dipendere funzionalmente dalla chiave primaria.

Di seguito sono riportati alcuni passaggi per garantire che i dati siano nella seconda forma normale:

  1. La prima forma normale dovrebbe essere raggiunta.
  2. Rimozione di sottoinsiemi di dati applicabili a più righe in una tabella e collocandoli in tabelle diverse.
  3. Utilizzo di chiavi esterne per garantire le relazioni tra le tabelle create.

Esempi

Per comprendere meglio le forme normali, prendiamo l'esempio della tabella seguente e quindi i passaggi per ottenere la seconda forma normale.

Facciamo l'esempio della seguente tabella "insegnante_dettagli".

IdNomeSoggetti
1289Ramesh SawantMatematica, Scienza
5678Shruti Shahinglese
1267Nikhil DasStoria, studi sociali
3409Pooja SharmaEconomia

La tabella sopra contiene le materie specifiche insegnate da ciascun insegnante. Qui le colonne "Soggetti" non contengono valori atomici e per Id 1289 e 1267, è presente più di un soggetto presente nella colonna "Soggetti". Come possiamo vedere che la colonna "Soggetti" non ha valori atomici, dobbiamo prima rendere la tabella conforme alla prima forma normale seguendo quanto segue.

IdNomeSoggetti
1289Ramesh SawantMatematica
1289Ramesh SawantScienza
5678Shruti Shahinglese
1267Nikhil DasStoria
1267Nikhil DasStudi Sociali
3409Pooja SharmaEconomia

Ora la tabella sopra è in prima forma normale poiché tutti gli attributi hanno valore atomico.

Qui le chiavi primarie composite sono 'Id ' e 'Nome'. La colonna "Soggetti" è l'attributo non primo. Anche qui la colonna "Soggetti" dipende solo dalla colonna " Nome " che fa parte della chiave primaria composita. Quindi la tabella non soddisfa le condizioni della seconda forma normale.

Per rendere la tabella conforme alla seconda forma normale, è necessario suddividere la tabella sopra nelle due tabelle come mostrato di seguito.

Tabella insegnante_info come mostrato di seguito:

IdNome
1289Ramesh Sawant
5678Shruti Shah
1267Nikhil Das
3409Pooja Sharma

Tabella subject_details come mostrato di seguito:

IdSoggetti
1289Matematica
1289Scienza
5678inglese
1267Storia
1267Studi Sociali
3409Economia

Abbiamo rimosso la dipendenza funzionale iniziale dalla tabella. Quindi, nella tabella subject_details, la colonna 'Soggetti' dipende completamente dalla chiave primaria della tabella, ovvero 'Id'.

Vantaggi della seconda forma normale

Di seguito sono riportati alcuni dei vantaggi dell'utilizzo della seconda forma normale.

  1. I dati ridondanti vengono ridotti in modo più efficace.
  2. I dati sono coerenti nel database.
  3. Migliora la flessibilità nella progettazione di un database.
  4. Migliora inoltre l'organizzazione generale dei dati nel database.
  5. Migliora anche la sicurezza del database.

Conclusione

  • Per la corretta implementazione di un sistema di gestione di database, che soddisfa i requisiti dei dati di un sistema aziendale, la progettazione di un database è fondamentale. La normalizzazione aiuta a realizzare la progettazione e la manutenzione di un sistema di gestione del database garantendo coerenza e dipendenza dei dati.
  • Sebbene il secondo modulo normale rimuova i sottoinsiemi di dati applicabili a più righe in una tabella e garantisca la relazione tra le tabelle utilizzando la chiave esterna, rimane comunque la necessità di rimuovere la dipendenza funzionale transitiva dell'attributo non-prime su qualsiasi super chiave dà origine all'utilizzo della terza forma normale. Pertanto, l'utilizzo del secondo modulo normale dipende dai requisiti stabiliti dall'azienda e dovrebbe essere scelto con cura durante la progettazione del sistema di gestione del database.

Articoli consigliati

Questa è stata una guida alla seconda forma normale. Qui discutiamo cos'è la Seconda Forma Normale? Come funziona la seconda forma normale? insieme a un esempio appropriato. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Tipi di join in SQL Server
  2. Che cos'è SQL Injection?
  3. Domande di intervista Oracle PL / SQL
  4. Carriere in SQL
  5. I 6 migliori tipi di join in MySQL con esempi