Ufunguo wa msingi dhidi ya ufunguo wa kipekee
Safu wima au seti ya safu wima, ambayo inaweza kutumika kutambua au kufikia safu mlalo au seti ya safu katika hifadhidata inaitwa ufunguo. Ufunguo wa kipekee ni ufunguo unaoweza kutambua kwa njia ya kipekee safu mlalo katika jedwali katika muktadha wa hifadhidata za uhusiano. Kitufe cha kipekee kinaundwa na safu wima moja au seti ya safu wima. Ufunguo msingi pia ni mchanganyiko wa safu wima katika jedwali zinazotambulisha safu mlalo kwa njia ya kipekee. Lakini inachukuliwa kuwa kesi maalum ya ufunguo wa kipekee.
Ufunguo wa Kipekee ni nini?
Kama ilivyotajwa awali, ufunguo wa kipekee ni safu wima moja au seti ya safu wima inayoweza kutambua safu mlalo katika jedwali kwa njia ya kipekee. Kwa hivyo, ufunguo wa kipekee umezuiliwa ili hakuna maadili mawili yake sawa. Sifa moja muhimu ni kwamba funguo za kipekee hazitekelezi kizuizi cha NOT NULL. Kwa kuwa NULL inawakilisha ukosefu wa thamani, ikiwa safu mlalo mbili zina NULL kwenye safu, haimaanishi kuwa maadili ni sawa. Safu wima inayofafanuliwa kama ufunguo wa kipekee inaruhusu thamani moja tu NULL katika safu wima hiyo. Kisha hiyo inaweza kutumika kutambua safu mlalo hiyo kipekee. Kwa mfano, katika jedwali ambalo lina maelezo ya mwanafunzi, kitambulisho cha mwanafunzi kinaweza kufafanuliwa kama ufunguo wa kipekee. Kwa kuwa hakuna wanafunzi wawili wanaoweza kuwa na kitambulisho sawa inamtambulisha mwanafunzi mmoja kipekee. Kwa hivyo safu wima ya kitambulisho cha mwanafunzi inakidhi sifa zote za ufunguo wa kipekee. Kulingana na muundo wa hifadhidata, jedwali linaweza kuwa na zaidi ya ufunguo mmoja wa kipekee.
Ufunguo Msingi ni nini?
Ufunguo msingi pia ni safu wima au mchanganyiko wa safu wima ambao hufafanua kwa njia ya kipekee safu mlalo katika jedwali la hifadhidata ya uhusiano. Jedwali linaweza kuwa na ufunguo mmoja msingi. Ufunguo msingi hutekeleza kikwazo kisicho dhahiri cha NOT NULL. Kwa hivyo, safu ambayo inafafanuliwa kama ufunguo wa msingi haiwezi kuwa na maadili NULL ndani yake. Ufunguo msingi unaweza kuwa sifa ya kawaida katika jedwali ambayo imehakikishwa kuwa ya kipekee kama vile nambari ya usalama wa jamii au inaweza kuwa thamani ya kipekee inayotolewa na mfumo wa usimamizi wa hifadhidata kama vile Kitambulisho cha Kipekee cha Kimataifa (GUID) katika Seva ya Microsoft SQL. Vifunguo msingi vinafafanuliwa kupitia kikwazo cha PRIMARY KEY katika ANSI SQL Standard. Kitufe cha msingi kinaweza pia kuelezwa wakati wa kuunda meza. SQL huruhusu ufunguo msingi kuundwa kwa safu wima moja au zaidi na kila safu ambayo imejumuishwa kwenye ufunguo msingi imefafanuliwa kwa uwazi kuwa SIYO BATILI. Lakini baadhi ya mifumo ya usimamizi wa hifadhidata inahitaji kufanya safu wima za msingi kwa uwazi SIYO BATILI.
Tofauti Kati ya Ufunguo Msingi na Ufunguo wa Kipekee
Ingawa ufunguo msingi na ufunguo wa kipekee ni safu wima moja au zaidi zinazoweza kutambua safu mlalo katika jedwali kwa njia ya kipekee, zina tofauti fulani muhimu. Muhimu zaidi, jedwali linaweza kuwa na ufunguo mmoja tu msingi ilhali linaweza kuwa na zaidi ya ufunguo mmoja wa kipekee. Ufunguo wa msingi unaweza kuzingatiwa kama kesi maalum ya ufunguo wa kipekee. Tofauti nyingine ni kwamba funguo za msingi zina kizuizi cha NOT NULL wakati ufunguo wa kipekee hauna kizuizi hicho. Kwa hivyo, safu wima za funguo za kipekee zinaweza au zisiwe na thamani NULL lakini safu wima za funguo msingi haziwezi kuwa na thamani NULL.