Dallimi kryesor midis çelësit të huaj dhe çelësit primar është se çelësi i huaj është një kolonë ose një grup kolonash që i referohen një çelësi primar ose një çelësi kandidat të një tabele tjetër ndërsa çelësi kryesor është një kolonë ose një grup kolonash që mund të përdoret për të identifikuar në mënyrë unike një rresht në një tabelë.
Një kolonë ose një grup kolonash që mund të përdoren për të identifikuar ose aksesuar një rresht ose një grup rreshtash në një bazë të dhënash quhet çelës. Një çelës kryesor në një bazë të dhënash relacionale është një kombinim i kolonave në një tabelë që identifikojnë në mënyrë unike një rresht të tabelës. Çelësi i huaj në një bazë të dhënash relacionale është një fushë në një tabelë që përputhet me çelësin kryesor të një tabele tjetër. Çelësi i huaj përdoret për të kryqëzuar tabelat e referencës.
Çfarë është çelësi i huaj?
Çelësi i huaj është një kufizim referues midis dy tabelave. Ai identifikon një kolonë ose një grup kolonash në një tabelë, të quajtur tabela e referencës që i referohet një grupi kolonash në një tabelë tjetër, të quajtur tabela e referuar. Çelësi i huaj ose kolonat në tabelën e referencës duhet të jenë çelësi kryesor ose një çelës kandidat (një çelës që mund të përdoret si çelës kryesor) në tabelën e referuar. Për më tepër, çelësat e huaj lejojnë lidhjen e të dhënave në disa tabela. Prandaj, çelësi i huaj nuk mund të përmbajë vlera që nuk shfaqen në tabelën të cilës i referohet. Më pas referenca e dhënë nga çelësi i huaj ndihmon në lidhjen e informacionit në disa tabela dhe kjo do të bëhej thelbësore me bazat e të dhënave të normalizuara. Rreshta të shumta në tabelën e referencës mund t'i referohen një rreshti të vetëm në tabelën e referuar.
Figura 01: Harta e çelësave të huaj
Në standardin ANSI SQL, kufizimi FOREIGN KEY përcakton çelësat e huaj. Për më tepër, është e mundur të përcaktohen çelësat e huaj gjatë krijimit të vetë tabelës. Një tabelë mund të ketë shumë çelësa të huaj dhe ata mund t'i referohen tabelave të ndryshme.
Çfarë është çelësi kryesor?
Çelësi primar është një kolonë ose një kombinim kolonash që përcakton në mënyrë unike një rresht në një tabelë të një baze të dhënash relacionale. Një tabelë mund të ketë më së shumti një çelës primar. Çelësi primar zbaton kufizimin e nënkuptuar NOT NULL. Prandaj, një kolonë me çelës primar nuk mund të ketë vlera NULL në të. Çelësi primar mund të jetë një atribut normal në tabelë që garantohet të jetë unik, si p.sh. një numër i sigurimeve shoqërore, ose mund të jetë një vlerë unike e krijuar nga sistemi i menaxhimit të bazës së të dhënave, si p.sh. një identifikues unik global (GUID) në Microsoft SQL Server.
Figura 02: Çelësi primar
Për më tepër, kufizimi PRIMARY KEY në ANSI SQL Standard përcakton çelësat kryesorë. Është gjithashtu e mundur të përcaktohet një çelës primar gjatë krijimit të tabelës. Përveç kësaj, SQL lejon që çelësi primar të përbëhet nga një ose më shumë kolona, dhe secila kolonë që përfshihet në çelësin primar definohet në mënyrë implicite se NUK është NULL. Por disa sisteme të menaxhimit të bazës së të dhënave kërkojnë që kolonat e çelësit primar të bëhen në mënyrë eksplicite NOT NULL.
Cili është ndryshimi midis çelësit të huaj dhe çelësit kryesor?
Çelësi i huaj kundrejt çelësit kryesor |
|
Çelësi i huaj është një kolonë ose grup kolonash në një tabelë të bazës së të dhënave relacionale që ofron një lidhje midis të dhënave në dy tabela. | Çelësi primar është një kolonë speciale e tabelës së bazës së të dhënave relacionale ose një kombinim i kolonave të shumta që lejon të identifikohen në mënyrë unike të gjitha regjistrimet e tabelës. |
NULL | |
Çelësi i huaj pranon vlerën NULL. | Vlera e çelësit primar nuk mund të jetë NULL. |
Numri i çelësave | |
Tabela mund të ketë disa çelësa të huaj. | Tabela mund të ketë vetëm një çelës kryesor. |
Dublikim | |
Tuples mund të kenë një vlerë të kopjuar për një atribut të çelësit të huaj. | Dy tuple në një relacion nuk mund të kenë vlera të dyfishta për një atribut të çelësit kryesor. |
Përmbledhje – Çelësi i huaj kundrejt çelësit kryesor
Dallimi midis çelësit të huaj dhe çelësit kryesor është se çelësi i huaj është një kolonë ose një grup kolonash që i referohen një çelësi primar ose një çelësi kandidat të një tabele tjetër, ndërsa çelësi kryesor është një kolonë ose një grup kolonash që mund të përdoret për të identifikuar në mënyrë unike një rresht në një tabelë.