logo

Tranzitivna ovisnost u DBMS-u

Razmotrimo relaciju R(A B C). Ovdje su A, B i C poznati kao atribut relacije R. Kada se pojavi sljedeći uvjet; tada se tranzitivna ovisnost javlja u DBMS-u. Uvjeti su A → B, B → C. Dakle, uvjet postaje A → C. Drugim riječima, možemo reći da kada ovisnosti čine dvije funkcionalne ovisnosti, tada funkcionalne ovisnosti postaju tranzitivne ovisnosti.

Što je tranzitivna ovisnost?

Promotrimo relaciju R(A B C). Ovdje su A, B i C poznati kao atribut relacije R. Kada se pojavi sljedeći uvjet; tada se tranzitivna ovisnost javlja u DBMS-u. Uvjeti su A → B, B → C. Prema tome, uvjet postaje A → C. u tranzitivnim funkcionalnim ovisnostima ovisna je izravno ovisna o determinanti.

Razumimo tranzitivne ovisnosti uz pomoć sljedećeg primjera.

Autor_ID Autor Knjiga Nacionalnost_autora
A1 Arundhati Roy Bog malih stvari Indija
A1 Kiran Desai Nasljedstvo gubitka Indija
A2 R. K. Narayan Ljudožder iz Malgudyja Indija

U gornjoj tablici autora to dobivamo.

    Knjiga → Autor:Ovdje je atribut autora određen atributom knjige. Ako netko zna ime knjige, može saznati i ime autora.Autor → Nacionalnost_autora:Ako netko zna ime autora, može saznati i nacionalnost autora.Knjiga → Autor_Nacionalnost: Ako netko zna ime knjige, može saznati i nacionalnost autora.

Ako pomno pogledamo gore razmotrene funkcionalne ovisnosti, nalazimo sljedeći obrazac.

  • A → B i B → C B → C; dakle, A → CA → C.
  • A → Knjiga, B → Autor B → Autor i C → Nacionalnost_autora C→Nacionalnost_autora

Pretpostavimo da primijenimo treći normalni oblik (3NF) u gornjoj tablici autora. U tom slučaju, tranzitivna ovisnost autorske tablice mora biti uklonjena, a proces uklanjanja tranzitivnih ovisnosti baze podataka poznat je kao proces normalizacije.

Kako izbjeći tranzitivne ovisnosti?

Razmotrimo ponovno gornju tablicu autora i vidimo koja vrsta problema nastaje tijekom izrade tablice.

Tablica autora:

Autor_ID Autor Knjiga Nacionalnost_autora
A1 Arundhati Roy Bog malih stvari Indija
A1 Kiran Desai Nasljedstvo gubitka Indija
A2 R. K. Narayan Ljudožder iz Malgudyja Indija

Anomalije podataka (kao što su anomalije ažuriranja, umetanja i brisanja) i nedosljednosti mogu biti uzrokovane autorskom tablicom. Kada postoji previše redundantnosti u bazi podataka, tada dolazi do anomalija podataka u podacima. Anomalije podataka također nastaju kada postoji problem s ažuriranjem, brisanjem i umetanjem novih podataka. Na primjer, u tablici autora-

  • Ne možemo dodati novog autora dok ne možemo dodati knjigu u tablicu.
  • Ne možemo izbrisati autora dok u potpunosti ne izbrišemo knjigu iz baze podataka.
  • Ako želimo izbrisati knjigu 'Bog malih stvari', izbrisat će se i ID autora, autor i nacionalnost.

Gore navedeni problemi pojavljuju se u bilo kojem odnosu koji sadrži tranzitivne ovisnosti.

Treći normalni oblik uklanjanjem tranzitivne ovisnosti

Razmotrimo Tablica autora s tri atributa (Author_ID, Author, Author_Nationality) i pokušajte pronaći i eliminirati Transitivnu ovisnost iz ove tablice,

Tablica autora:

Autor_ID Autor Knjiga Nacionalnost_autora
A1 Arundhati Roy Bog malih stvari Indija
A1 Kiran Desai Nasljedstvo gubitka Indija
A2 R. K. Narayan Ljudožder iz Malgudyja Indija

Gornja autorova tablica nije u 3NF jer ima tranzitivnu ovisnost. Da vidimo kako

kmp algoritam
  • Autor → Nacionalnost_autora Autor → Nacionalnost_autora
  • Autor_ID → Autor

Stoga postoji i sljedeća funkcionalna ovisnost,

  • Authir_ID → Author_Nationality formira obrazac sličan onome o čemu smo raspravljali gore.

Sada da eliminiramo tranzitivnu ovisnost, sve što trebamo učiniti je podijeliti tablicu autora na takav način da ID autora više funkcionalno ne ovisi o nacionalnosti autora.

Kreirajmo dvije tablice, jednu koja sadrži samo { Author_ID, Author}, a drugu {Author_Nationality}. Nove tablice će izgledati ovako,

Tablica autora

Autor_ID Autor
A1 Bog malih stvari
A2 Nasljedstvo gubitka
A3 Ljudožder iz Malgudyja

Tablica nacionalnosti autora

Autor Nacionalnost_autora
Arundhati Roy Indija
Kiran Desai Indija
R. K. Narayan Indija

Sada nova tablica autora i tablica nacionalnosti autora ne sadrži tranzitivnu ovisnost i relacija je sada u 3NF.