Wat is Transitiewe Afhanklikheid in 'n databasis

Vermy Transitiewe Afhanklikhede om te help om Normalisering te verseker

'N Transitiewe afhanklikheid in 'n databasis is 'n indirekte verhouding tussen waardes in dieselfde tabel wat 'n funksionele afhanklikheid veroorsaak . Om die normaliseringsstandaard van Derde Normale Vorm (3NF) te behaal, moet u enige transitiewe afhanklikheid uitskakel.

Deur die aard daarvan vereis 'n transitiewe afhanklikheid drie of meer eienskappe (of databasis kolomme) wat 'n funksionele afhanklikheid tussen hulle het, wat beteken dat Kolom A in 'n tabel staatmaak op Kolom B deur middel van 'n intermediêre kolom C.

Kom ons kyk hoe dit kan werk.

Voorbeeld van Transitiewe Afhanklikheid

SKRYWERS

Author_ID skrywer Boek Author_Nationality
Auth_001 Orson Scott Card Ender's Game Verenigde State
Auth_001 Orson Scott Card Ender's Game Verenigde State
Auth_002 Margaret Atwood Die Diensmaagd se Tale Kanada

In die AUTHORS voorbeeld hierbo:

Maar hierdie tabel stel 'n transitiewe afhanklikheid voor:

Vermy Transitiewe Afhanklikhede

Om Derde Normale Vorm te verseker, laat ons die transitiewe afhanklikheid verwyder.

Ons kan begin deur die boekkolom te verwyder uit die tabel Skrywers en om 'n aparte boeke-tabel te skep:

BOEKE

Book_ID Boek Author_ID
Book_001 Ender's Game Auth_001
Book_001 Kinders van die Gees Auth_001
Book_002 Die Diensmaagd se Tale Auth_002

SKRYWERS

Author_ID skrywer Author_Nationality
Auth_001 Orson Scott Card Verenigde State
Auth_002 Margaret Atwood Kanada

Het dit reggemaak? Kom ons kyk nou na ons afhanklikhede:

BOEKE tabel :

AUTHORS tabel :

Ons moet 'n derde tabel byvoeg om hierdie data te normaliseer:

LANDE

Country_ID land
Coun_001 Verenigde State
Coun_002 Kanada

SKRYWERS

Author_ID skrywer Country_ID
Auth_001 Orson Scott Card Coun_001
Auth_002 Margaret Atwood Coun_002

Nou het ons drie tafels, wat gebruik maak van vreemde sleutels om tussen die tafels te skakel:

Waarom Transitiewe Afhanklikhede Is Slegte Databasisontwerp

Wat is die waarde om transitiewe afhanklikhede te voorkom om 3NF te verseker? Kom ons kyk weer na ons eerste tafel en kyk na die probleme wat dit skep:

SKRYWERS

Author_ID skrywer Boek Author_Nationality
Auth_001 Orson Scott Card Ender's Game Verenigde State
Auth_001 Orson Scott Card Kinders van die Gees Verenigde State
Auth_002 Margaret Atwood Die Diensmaagd se Tale Kanada

Hierdie soort ontwerp kan bydra tot data-afwykings en teenstrydighede, byvoorbeeld:

Dit is net 'n paar redes waarom normalisering , en die voorkoming van oorgang afhanklikhede, data beskerm en konsekwentheid verseker.