Diferența dintre normalizare și denormalizare

Diferența dintre normalizare și denormalizare
Diferența dintre normalizare și denormalizare

Video: Diferența dintre normalizare și denormalizare

Video: Diferența dintre normalizare și denormalizare
Video: Eu pot: Diferenţa dintre prosperitate şi bogăţie (@TVR1) 2024, Noiembrie
Anonim

Normalizare vs denormalizare

Bazele de date relaționale sunt formate din relații (tabele înrudite). Tabelele sunt formate din coloane. Dacă tabelele sunt două mari (adică prea multe coloane într-un singur tabel), atunci pot apărea anomalii ale bazei de date. Dacă tabelele sunt două mici (adică baza de date este formată din multe tabele mai mici), ar fi ineficient pentru interogare. Normalizarea și Denormalizarea 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 (inversul normalizării) adaugă date redundante sau date de grup.

Ce este normalizarea?

Normalizarea este un proces care se realizează pentru a minimiza redundanțele care sunt prezente în datele din bazele de date relaționale. Acest proces va împărți în principal tabele mari în tabele mai mici, cu mai puține redundanțe (numite „forme normale”). Aceste tabele mai mici vor fi legate între ele prin relații bine definite. Într-o bază de date bine normalizată, orice modificare sau modificare a datelor va necesita modificarea 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. Boyce-Codd Normal Form (BCNF) a fost introdus în 1974 de Codd și Raymond F. Boyce. Au fost definite forme normale superioare (4NF, 5NF și 6NF), dar acestea sunt utilizate rar.

Un tabel care respectă 1NF asigură că reprezintă de fapt o relație (adică nu conține nicio înregistrare care se repetă) și nu conține atribute care sunt evaluate relațional (de ex.e. toate atributele ar trebui să aibă valori atomice). Pentru ca un tabel să se conformeze cu 2NF, ar trebui să fie respectat cu 1NF și orice atribut care nu face parte din nicio cheie candidată (adică atribute non-prime) ar trebui să depindă pe deplin de oricare dintre cheile candidate din tabel. Conform definiției lui Codd, se spune că un tabel este în 3NF, dacă și numai dacă, acel tabel este în a doua formă normală (2NF) și fiecare atribut din tabel care nu aparține unei chei candidate ar trebui să depindă direct de fiecare cheia candidată a acelui tabel. 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ă prin adăugarea de date redundante sau gruparea datelor pentru a optimiza performanța. Chiar dacă, adăugarea de date redundante sună contraproductivă, uneori denormalizarea este un proces foarte important pentru a depăși unele dintre deficiențele software-ului bazelor de date relaționale care pot aduce penalități mari de performanță cu bazele de date normalizate (chiar reglate pentru performanțe mai mari). Acest lucru se datorează faptului că unirea mai multor relații (care sunt rezultate ale normalizării) pentru a produce un rezultat la o interogare 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 în tabele 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 de citire a bazei de date, dar din cauza constrângerilor suplimentare utilizate pentru denormalizare, scrierile (adică operațiile de inserare, actualizare și ștergere) pot deveni mai lente. Prin urmare, o bază de date denormalizată poate oferi performanțe de scriere mai slabe decât o bază de date normalizată.

– Este adesea recomandat să „normalizați până vă doare, denormalizați până când funcționează”.

Recomandat: