Dhamana ya Dhamana ni nini?

Mtegemezi wa dhamana ni mada ambayo mara nyingi huwachanganya wataalamu na wataalamu wa database sawa. Kwa bahati nzuri, sio ngumu na inaweza kuwa bora kwa njia ya matumizi ya mifano kadhaa. Katika makala hii, tunachunguza aina za kawaida za utegemezi wa database.

Utegemeaji wa Dhamana / Utegemeaji wa Kazi

Utegemezi hutokea kwenye databana wakati taarifa iliyohifadhiwa katika meza moja ya databana inalenga maelezo mengine yaliyohifadhiwa kwenye meza sawa. Unaweza pia kuelezea hii kama uhusiano ambapo kujua thamani ya sifa moja (au seti ya sifa) ni ya kutosha kukuambia thamani ya sifa nyingine (au seti ya sifa) katika meza sawa.

Akisema kuwa kuna utegemezi kati ya sifa katika meza ni sawa na kusema kuwa kuna utegemezi wa kazi kati ya sifa hizo. Ikiwa kuna utegemezi katika daraka kama vile sifa B inategemea sifa A, ungeandika hii kama "A -> B".

Kwa mfano, Katika orodha ya sifa za mfanyakazi ikiwa ni pamoja na Nambari ya Usalama wa Jamii (SSN) na jina, inaweza kuwa alisema jina linategemea SSN (au SSN -> jina) kwa sababu jina la mfanyakazi linaweza kuamua moja kwa moja kutoka kwa SSN yao. Hata hivyo, taarifa ya reverse (jina -> SSN) si kweli kwa sababu zaidi ya mfanyakazi mmoja anaweza kuwa na jina sawa lakini SSN tofauti.

Utegemeaji wa Kazi mbaya

Utegemea usio wa kazi hutokea unapoelezea utegemezi wa utendaji wa sifa kwenye mkusanyiko wa sifa zinazojumuisha sifa ya awali. Kwa mfano, "{A, B} -> B" ni utegemezi mdogo wa kazi, kama "{jina, SSN} -> SSN". Aina hii ya utegemezi wa kazi inaitwa ndogo sana kwa sababu inaweza kutolewa kwa akili ya kawaida. Ni dhahiri kwamba ikiwa tayari unajua thamani ya B, basi thamani ya B inaweza kuwa ya kipekee ya kuamua na ujuzi huo.

Utegemeaji wa Kazi Kamili

Utegemezi kamili wa kazi hutokea unapokutana na mahitaji ya utegemezi wa kazi na seti ya sifa kwenye upande wa kushoto wa taarifa ya utegemezi wa kazi haiwezi kupunguzwa zaidi. Kwa mfano, "{SSN, umri} -> jina" ni utegemezi wa kazi, lakini sio utegemezi kamili wa kazi kwa sababu unaweza kuondoa umri kutoka upande wa kushoto wa tamko bila kuathiri uhusiano wa utegemezi.

Utegemeaji wa Msaada

Mtegemezi wa mabadiliko hutokea wakati kuna uhusiano usio wa moja kwa moja unaosababisha utegemezi wa kazi. Kwa mfano, "A -> C" ni utegemezi wa mabadiliko wakati ni kweli tu kwa sababu wote "A -> B" na "B -> C" ni kweli.

Utegemeaji wa Maendeleo

Mateteo mazuri yanayotokea wakati uwepo wa safu moja au zaidi katika meza ina maana kuwepo kwa safu moja au zaidi kwenye meza hiyo. Kwa mfano, fikiria kampuni ya gari inayozalisha aina nyingi za gari, lakini daima hufanya rangi nyekundu na rangi ya bluu ya kila mfano. Ikiwa una meza ambayo ina jina la mfano, rangi na mwaka wa kila gari kampuni hiyo inafanya tillverkar, kuna utegemezi wa multivalued katika meza hiyo. Ikiwa kuna mstari kwa jina fulani la mfano na mwaka katika bluu, lazima pia kuwa safu sawa sawa na toleo nyekundu la gari moja.

Umuhimu wa Utegemeaji

Mtegemezi wa msingi wa data ni muhimu kuelewa kwa sababu hutoa vitalu vya msingi vya ujenzi vilivyotumiwa katika uhalalishaji wa database . Kwa mfano: