logo

Transitiv afhængighed i DBMS

Lad os betragte en relation R(A B C). Her er A, B og C kendt som attributten for relationen R. Når følgende tilstand opstår; så opstår den transitive afhængighed i DBMS. Betingelserne er A → B, B → C. Derfor bliver betingelsen A → C. Med andre ord kan vi sige, at når afhængigheder er lavet af to funktionelle afhængigheder, så bliver de funktionelle afhængigheder transitive afhængigheder.

Hvad er transitiv afhængighed?

Overvej en relation R(A B C). Her er A, B og C kendt som attributten for relationen R. Når følgende tilstand opstår; så opstår den transitive afhængighed i DBMS. Betingelserne er A → B, B → C. Derfor bliver tilstanden A → C. i transitive funktionelle afhængigheder er en afhængig direkte afhængig af determinanten.

Lad os forstå de transitive afhængigheder ved hjælp af følgende eksempel.

Author_ID Forfatter Bestil Forfatter_Nationalitet
A1 Arundhati Roy De små tings gud Indien
A1 Kiran Desai Tabets arv Indien
A2 R.K. Narayan The Man Eater of Malgudy Indien

I ovenstående forfattertabel får vi det.

    Bog → Forfatter:Her er forfatteregenskaben bestemt af bogegenskaben. Hvis nogen kender bogens navn, kan de også lære forfatterens navn.Forfatter → Forfatter_Nationalitet:Hvis nogen kender forfatterens navn, kan de også lære forfatterens nationalitet.Bog → Forfatter_Nationalitet: Hvis nogen kender bogens navn, kan de også lære forfatterens nationalitet.

Hvis vi ser nærmere på de funktionelle afhængigheder diskuteret ovenfor, finder vi følgende mønster.

  • A → B og B → C B→C; derfor A → CA → C.
  • A → Bog, B → Forfatter B → Forfatter og C → Forfatter_Nationalitet C→ Forfatter_Nationalitet

Antag, at vi anvender Third Normal Form (3NF) i ovenstående forfattertabel. I så fald skal forfattertabellens transitive afhængighed fjernes, og processen med at fjerne databasens transitive afhængigheder er kendt som normaliseringsprocessen.

Hvordan undgår man transitive afhængigheder?

Lad os overveje ovenstående forfattertabel igen og se, hvilken type problem der opstår under oprettelsen af ​​tabellen.

Forfatter tabel:

Author_ID Forfatter Bestil Forfatter_Nationalitet
A1 Arundhati Roy De små tings gud Indien
A1 Kiran Desai Tabets arv Indien
A2 R.K. Narayan The Man Eater of Malgudy Indien

Dataanomalierne (såsom opdaterings-, indsættelses- og sletningsanomalier) og inkonsistens kan bidrage fra forfattertabellen. Når der er for meget redundans i databasen, forårsages dataanomalier i dataene. Dataanomalier opstår også, når der er et problem med at opdatere, slette og indsætte nye data. For eksempel i forfattertabellen-

  • Vi kan ikke tilføje en ny forfatter, før vi ikke kan tilføje en bog til bordet.
  • Vi kan ikke slette forfatteren, før vi helt sletter bogen fra databasen.
  • Hvis vi vil slette bogen 'De små tings gud', blev forfatterens id, forfatter og nationalitet også slettet.

Ovenstående problemer opstår i ethvert forhold, der indeholder transitive afhængigheder.

Tredje normalform ved at fjerne transitiv afhængighed

Lad os overveje Forfatter tabel med tre attributter (Author_ID, Author, Author_Nationality) og prøv at finde og eliminere den Transitive afhængighed fra denne tabel,

Forfatter tabel:

Author_ID Forfatter Bestil Forfatter_Nationalitet
A1 Arundhati Roy De små tings gud Indien
A1 Kiran Desai Tabets arv Indien
A2 R.K. Narayan The Man Eater of Malgudy Indien

Ovenstående forfatters tabel er ikke i 3NF, fordi den har en Transitiv afhængighed. Lad os se hvordan

java len af ​​array
  • Forfatter → Forfatter_Nationalitet Forfatter → Forfatter_Nationalitet
  • Author_ID → Forfatter

Derfor eksisterer følgende funktionelle afhængighed også,

  • Authir_ID → Author_Nationality danner et mønster, der ligner det, vi diskuterede ovenfor.

Nu for at eliminere den Transitive afhængighed, er alt, hvad vi skal gøre, at opdele forfatterens tabel på en sådan måde, at Author_ID ikke længere funktionelt vil afhænge af Author_Nationality.

Lad os oprette to tabeller, en kun indeholder { Author_ID, Author} og en anden indeholdende {Author_Nationality}. De nye borde vil se sådan ud,

Forfatter tabel

Author_ID Forfatter
A1 De små tings gud
A2 Tabets arv
A3 The Man Eater of Malgudy

Forfatterens nationalitetstabel

Forfatter Forfatter_Nationalitet
Arundhati Roy Indien
Kiran Desai Indien
R.K. Narayan Indien

Nu indeholder den nye forfattertabel og forfatternationalitetstabel ingen transitiv afhængighed, og relationen er nu i 3NF.