Differenza tra 1NF e 2NF e 3NF

Anonim

1NF vs 2NF vs 3NF

La normalizzazione è un processo che viene eseguito per ridurre al minimo i licenziamenti presenti nei dati in database relazionali. Questo processo suddiderà principalmente grandi tabelle in tabelle più piccole con meno redditi. Queste tavole più piccole saranno collegate tra loro attraverso relazioni ben definite. In un database ben normalizzato, qualsiasi modifica o modifica dei dati richiede la modifica di una sola tabella. La prima forma normale (1NF), la seconda forma normale (2NF) e la terza forma normale (3NF) è stata introdotta da Edgar F. Codd, che è anche l'inventore del modello relazionale e del concetto di normalizzazione.

Che cosa è 1NF?

1NF è la prima forma normale, che fornisce il set minimo di requisiti per la normalizzazione di un database relazionale. Una tabella conforme a 1NF assicura che rappresenta effettivamente una relazione (cioè non contiene record che ripetono), ma non esiste una definizione universalmente accettata per 1NF. Una proprietà importante è che una tabella conforme a 1NF non potrebbe contenere attributi relazionali valutati (cioè tutti gli attributi dovrebbero avere valori atomici).

Che cos'è 2NF?

2NF è la seconda forma normale utilizzata nei database relazionali. Per una tabella di conformità a 2NF, dovrebbe essere rispettata 1NF e qualunque attributo che non sia una parte di qualsiasi chiave candidata (ad esempio, non-prime attributi) dovrebbe dipendere totalmente da una delle chiavi candidate nella tabella.

Che cosa è 3NF?

3NF è la terza forma normale utilizzata nella normalizzazione del database relazionale. Secondo la definizione di Codd, si dice che una tabella sia in 3NF, se e solo se quella tabella è nella seconda forma normale (2NF) e ogni attributo della tabella che non appartiene a una chiave candidata dovrebbe dipendere direttamente su ogni chiave candidata di quella tabella. Nel 1982 Carlo Zaniolo ha prodotto una definizione diversa per 3NF. Le tabelle che soddisfano le 3NF non contengono generalmente anomalie che si verificano durante l'inserimento, la cancellazione o l'aggiornamento dei record nella tabella.

Qual è la differenza tra 1NF e 2NF e 3NF?

1NF, 2NF e 3NF sono forme normali che vengono utilizzate in database relazionali per ridurre al minimo le ridondanze delle tabelle. 3NF è considerato come una forma più forte rispetto al 2NF ed è considerata una forma più forte normale di 1NF. Pertanto, in generale, ottenere una tabella conforme alla forma 3NF richiede la decomposizione di una tabella che si trova nel 2NF. Allo stesso modo, ottenere una tabella che rispetta il 2NF richiederà la decomposizione di una tabella che è nel 1NF. Tuttavia, se una tabella conforme a 1NF contiene chiavi candidati che sono composte solo da un singolo attributo (cioè con chiavi non candidate composite), una tabella corrisponderebbe automaticamente a 2NF.La decomposizione delle tabelle comporterà ulteriori operazioni di join (o prodotti cartesiani) durante l'esecuzione delle query. Ciò aumenterà il tempo di calcolo. D'altra parte, le tabelle che rispettano forme normali più forti avrebbero meno redditi di tabelle che soddisfano solo le forme normali più deboli.