Differenza tra normalizzazione e denormalizzazione

Anonim

Normalizzazione vs Denormalizzazione

I database relazionali sono costituiti da relazioni (tabelle correlate). Se le tabelle sono due grandi (cioè troppe colonne in una sola tabella), allora le anomalie del database possono verificarsi: se le tabelle sono due piccole (cioè il database è composto da molte tavole più piccole), sarebbe inefficiente per la query. sono due processi utilizzati per ottimizzare le prestazioni del database La normalizzazione riduce al minimo i licenziamenti presenti nelle tabelle di dati La denormalizzazione (invertimento della normalizzazione) aggiunge dati ridondanti o dati di gruppo

< Qual è la normalizzazione?

La normalizzazione è un processo che viene eseguito per ridurre al minimo i licenziamenti presenti nei dati in banche dati relazionali, che suddividono principalmente grandi tabelle in tabelle più piccole con meno ridondanze (chiamate "forme normali") Queste tabelle più piccole verranno correlate d tra di 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) sono state introdotte da Edgar F. Codd. Il modello normale di Boyce-Codd (BCNF) è stato introdotto nel 1974 da Codd e Raymond F. Boyce. Sono stati definiti Forme Normali Superiori (4NF, 5NF e 6NF), ma sono raramente utilizzate.

Una tabella conforme a 1NF assicura che essa effettivamente rappresenta una relazione (cioè non contiene record che ripetono) e non contiene alcun attributo che sia relazionale (cioè tutti gli attributi dovrebbe avere valori atomici). 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. 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 nella tabella che non appartiene a una chiave candidata deve dipendere direttamente da ogni chiave chiave di quel tavolo. BCNF (noto anche come 3. 5NF) cattura alcune delle anomalie che non sono affrontate dal 3NF.

Che cos'è la Denormalizzazione?

Denormalizzazione è il processo inverso del processo di normalizzazione. La denormalizzazione funziona aggiungendo dati ridondanti o raggruppando i dati per ottimizzare le prestazioni. Anche se l'aggiunta di dati ridondanti è controproducente, talvolta la denormalizzazione è un processo molto importante per superare alcune delle carenze nel software del database relazionale che potrebbero comportare penalizzazioni pesanti di prestazioni con banche dati normalizzate (anche accordate per prestazioni superiori).Ciò è perché l'adesione a diverse relazioni (che sono risultati di normalizzazione) per produrre un risultato a una query può talvolta essere lento a seconda dell'implementazione fisica effettiva dei sistemi di database.

Qual è la differenza tra normalizzazione e denormalizzazione?

- Normalizzazione e denormalizzazione sono due processi completamente opposti.

- Normalizzazione è il processo di divisione di tabelle più grandi in quelle più piccole riducendo i dati ridondanti, mentre la denormalizzazione è il processo di aggiunta di dati ridondanti per ottimizzare le prestazioni.

- La normalizzazione avviene per impedire anomalie dei database.

- La denormalizzazione viene normalmente eseguita per migliorare le prestazioni di lettura del database, ma a causa dei vincoli aggiuntivi utilizzati per la denormalizzazione, scrive (ad esempio, inserimento, aggiornamento e cancellazione delle operazioni) può diventare più lenta. Di conseguenza, un database denormalizzato può offrire prestazioni peggiori di scrittura rispetto a un database normalizzato.

- Si raccomanda spesso di "normalizzare fino a quando non fa male, denormalizzare fino a quando non funziona".