logo

Transitivt beroende i DBMS

Låt oss betrakta ett samband R(A B C). Här är A, B och C kända som attributet för relationen R. När följande tillstånd uppstår; då inträffar det transitiva beroendet i DBMS. Villkoren är A → B, B → C. Därför blir villkoret A → C. Med andra ord kan vi säga att när beroenden skapas av två funktionella beroenden, så blir de funktionella beroenden transitiva beroenden.

Vad är transitivt beroende?

Betrakta ett samband R(A B C). Här är A, B och C kända som attributet för relationen R. När följande tillstånd uppstår; då inträffar det transitiva beroendet i DBMS. Villkoren är A → B, B → C. Därför blir tillståndet A → C. i transitiva funktionella beroenden är ett beroende direkt beroende av determinanten.

Låt oss förstå de transitiva beroenden med hjälp av följande exempel.

Author_ID Författare bok Författare_Nationalitet
A1 Arundhati Roy De små tingens gud Indien
A1 Kiran Desai Förlustens arv Indien
A2 R.K. Narayan Man Eater av Malgudy Indien

I författartabellen ovan får vi det.

    Bok → Författare:Här bestäms författarattributet av bokattributet. Om någon känner till bokens namn kan de också lära sig författarens namn.Författare → Författare_Nationalitet:Om någon känner till författarens namn kan de också få reda på författarens nationalitet.Bok → Författare_Nationalitet: Om någon känner till bokens namn kan de också få reda på författarens nationalitet.

Om vi ​​tittar noga på de funktionella beroenden som diskuterats ovan hittar vi följande mönster.

  • A → B och B → C B→C; därför A → CA → C.
  • A → Bok, B → Författare B → Författare och C → Författare_Nationalitet C→ Författare_Nationalitet

Anta att vi tillämpar Third Normal Form (3NF) i författartabellen ovan. I så fall måste författartabellens transitiva beroende tas bort, och processen att ta bort databasens transitiva beroende är känd som normaliseringsprocessen.

Hur undviker man transitiva beroenden?

Låt oss överväga författartabellen ovan igen och se vilken typ av problem som uppstår när tabellen skapas.

Författartabell:

Author_ID Författare bok Författare_Nationalitet
A1 Arundhati Roy De små tingens gud Indien
A1 Kiran Desai Förlustens arv Indien
A2 R.K. Narayan Man Eater av Malgudy Indien

Dataavvikelserna (som uppdaterings-, infognings- och raderingsavvikelser) och inkonsekvens kan bidra med författartabellen. När det finns för mycket redundans i databasen orsakas dataavvikelser i datan. Dataavvikelser uppstår också när det finns problem med att uppdatera, ta bort och infoga ny data. Till exempel, i författartabellen-

  • Vi kan inte lägga till en ny författare förrän vi inte kan lägga till en bok på bordet.
  • Vi kan inte ta bort författaren förrän vi helt tar bort boken från databasen.
  • Om vi ​​vill ta bort boken 'Små tings gud' raderas även författarens id, författare och nationalitet.

Ovanstående problem uppstår i alla relationer som innehåller transitiva beroenden.

Tredje normalformen genom att ta bort transitivt beroende

Låt oss överväga Författartabell med tre attribut (Author_ID, Author, Author_Nationality) och försök hitta och eliminera det transitiva beroendet från den här tabellen,

Författartabell:

Author_ID Författare bok Författare_Nationalitet
A1 Arundhati Roy De små tingens gud Indien
A1 Kiran Desai Förlustens arv Indien
A2 R.K. Narayan Man Eater av Malgudy Indien

Ovanstående författares tabell är inte i 3NF eftersom den har ett transitivt beroende. Låt oss se hur

np.klipp
  • Författare → Författare_Nationalitet Författare → Författare_Nationalitet
  • Author_ID → Author

Därför finns även följande funktionella beroende,

  • Authir_ID → Author_Nationality bildar ett mönster som liknar det vi diskuterade ovan.

Nu för att eliminera det transitiva beroendet, är allt vi behöver göra att dela upp författarens tabell på ett sådant sätt att Author_ID inte längre kommer att vara funktionellt beroende av Author_Nationality.

Låt oss skapa två tabeller, en som bara innehåller { Author_ID, Author} och en annan som innehåller {Author_Nationality}. De nya borden kommer att se ut så här,

Författartabell

Author_ID Författare
A1 De små tingens gud
A2 Förlustens arv
A3 Man Eater av Malgudy

Författarens nationalitetstabell

Författare Författare_Nationalitet
Arundhati Roy Indien
Kiran Desai Indien
R.K. Narayan Indien

Nu innehåller den nya tabellen för författare och nationalitet för författare inget transitivt beroende och relationen är nu i 3NF.