Šta je tranzitivna zavisnost u bazi podataka

Izbjegavajte prelazne zavisnosti kako biste osigurali normalizaciju

Prelazna zavisnost u bazi podataka je indirektna veza između vrijednosti u istoj tabeli koja uzrokuje funkcionalnu zavisnost . Da biste postigli standardni standard Treće normalne forme (3NF), morate ukloniti bilo kakvu tranzitivnu zavisnost.

Po svojoj prirodi, tranzitivna zavisnost zahteva tri ili više atributa (ili stupaca baze podataka) koji imaju funkcionalnu zavisnost između njih, što znači da se kolona A u tabeli oslanja na kolonu B kroz srednju kolonu C.

Da vidimo kako bi ovo moglo da funkcioniše.

Primjer tranzitivne zavisnosti

AUTORI

Author_ID Autor Knjiga Author_Nationality
Auth_001 Orson Scott kartica Enderova igra Sjedinjene Države
Auth_001 Orson Scott kartica Enderova igra Sjedinjene Države
Auth_002 Margaret Atwood Priča o sluškinji Kanada

U gore navedenom primeru AUTORI:

Ali ova tabela uvodi tranzitivnu zavisnost:

Izbjegavanje tranzitivnih zavisnosti

Da bismo obezbedili treću normalnu formu, uklonimo tranzitivnu zavisnost.

Možemo početi uklanjanjem kolone Knjige iz tabele autora i kreiranjem odvojene tablice Knjige:

KNJIGE

Book_ID Knjiga Author_ID
Book_001 Enderova igra Auth_001
Book_001 Deca umova Auth_001
Book_002 Priča o sluškinji Auth_002

AUTORI

Author_ID Autor Author_Nationality
Auth_001 Orson Scott kartica Sjedinjene Države
Auth_002 Margaret Atwood Kanada

Da li je ovo popravilo? Pogledajmo sada naše zavisnosti:

BOOKS tabela :

AUTORSKA tablica :

Moramo dodati treću tabelu za normalizaciju ovih podataka:

DRŽAVE

Country_ID Zemlja
Coun_001 Sjedinjene Države
Coun_002 Kanada

AUTORI

Author_ID Autor Country_ID
Auth_001 Orson Scott kartica Coun_001
Auth_002 Margaret Atwood Coun_002

Sada imamo tri tabele, koristeći inostrane ključeve za povezivanje između tabela:

Zašto su tranzitivne zavisnosti loše dizajnirane baze podataka

Koja je vrijednost izbjegavanja tranzitivnih zavisnosti kako bi se osigurala 3NF? Da razmotrimo naš prvi sto i vidimo probleme koje stvara:

AUTORI

Author_ID Autor Knjiga Author_Nationality
Auth_001 Orson Scott kartica Enderova igra Sjedinjene Države
Auth_001 Orson Scott kartica Deca umova Sjedinjene Države
Auth_002 Margaret Atwood Priča o sluškinji Kanada

Ovakav dizajn može doprinijeti anomalijama podataka i nekonzistentnosti, na primjer:

Ovo su samo neki od razloga zašto normalizacija i izbegavanje tranzitivnih zavisnosti štite podatke i obezbeđuju konzistentnost.