Diferența dintre normalizare și denormalizare

Anonim

Normalizarea vs Denormalizare , bazele de date relaționale sunt compuse din relații (tabele conexe). Dacă tabelele sunt două mari (adică prea multe coloane dintr-o tabelă), atunci pot apărea anomalii ale bazei de date. Dacă tabelele sunt două mici (adică baza de date este alcătuită din mai multe mese mai mici), ar fi ineficient pentru interogare. sunt două procese care sunt utilizate pentru a optimiza performanța bazei de date.Normalizarea minimizează redundanțele care sunt prezente în tabelele de date.Denormalizarea (inversarea normalizării) adaugă date redundante sau date de grup

< Normalizarea este un proces care se realizează pentru a minimiza concedierile care există în datele din bazele de date relaționale Acest proces va împărți în principal tabele mari în tabele mai mici cu redundanțe reduse (numite "Formulare normale") Aceste tabele mai mici vor fi legate d reciproc printr-o relație bine definită. Într-o bază de date bine normalizată, orice modificare sau modificare a datelor va necesita modificarea numai a unui singur tabel. Prima formă normală (1NF), a doua formă normală (2NF) și a treia formă normală (3NF) au fost introduse de Edgar F. Codd. Forma normală Boyce-Codd (BCNF) a fost introdusă în 1974 de Codd și Raymond F. Boyce. Formele normale mai mari (4NF, 5NF și 6NF) au fost definite, dar ele sunt folosite rar.

Un tabel care respectă 1NF asigură faptul că reprezintă într-adevăr o relație (adică nu conține înregistrări care se repetă) și nu conține niciun atribut evaluat relațional (adică toate atributele ar trebui să aibă valori atomice). Pentru o tabelă care să respecte 2NF, ar trebui respectată 1NF și orice atribut care nu face parte din nici o cheie candidat (adică atributele non-prime) ar trebui să depindă complet de oricare dintre tastele candidate din tabel. Conform definiției lui Codd, se spune că un tabel este în 3NF, dacă și numai dacă tabelul este în a doua formă normală (2NF) și fiecare atribut din tabel care nu aparține unei chei candidate trebuie să depindă direct de fiecare cheia candidatului din tabelul respectiv. BCNF (cunoscut și ca 3. 5NF) surprinde unele anomalii care nu sunt abordate de 3NF.

Ce este denormalizarea?

Denormalizarea este procesul invers al procesului de normalizare. Denormalizarea funcționează adăugând date redundante sau grupând date pentru a optimiza performanța. Chiar dacă adăugarea de date redundante pare contraproductivă, uneori denormalizarea este un proces foarte important pentru a depăși unele dintre deficiențele software-ului bazei de date relaționale, care pot suporta sancțiuni de performanță ridicate cu baze de date normalizate (chiar și pentru o performanță mai ridicată).Acest lucru se datorează faptului că uneia dintre mai multe relații (care sunt rezultatul normalizării) pentru a produce un rezultat unei interogări poate fi uneori lentă în funcție de implementarea fizică reală a sistemelor de baze de date.

Care este diferența dintre normalizare și denormalizare?

- Normalizarea și denormalizarea sunt două procese care sunt complet opuse.

- Normalizarea este procesul de împărțire a tabelelor mai mari la cele mai mici, reducând datele redundante, în timp ce denormalizarea este procesul de adăugare a datelor redundante pentru a optimiza performanța.

- Normalizarea este efectuată pentru a preveni anomaliile bazelor de date.

- Denormalizarea este de obicei efectuată pentru a îmbunătăți performanța citită a bazei de date, dar datorită constrângerilor suplimentare utilizate pentru denormalizare, scrierea (de exemplu, inserarea, actualizarea și ștergerea operațiilor) poate deveni mai lentă. Prin urmare, o bază de date denormalizată poate oferi performanțe de scriere mai slabe decât o bază de date normalizată.

- Adesea este recomandat să "normalizați până când doare, denormalizați până când va funcționa".