Çelësi primar vs çelësi unik
Një kolonë ose një grup kolonash, të cilat 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 unik është një çelës që mund të identifikojë në mënyrë unike një rresht në një tabelë në kontekstin e bazave të të dhënave relacionale. Një çelës unik përbëhet nga një kolonë e vetme ose një grup kolonash. Një çelës kryesor është gjithashtu një kombinim i kolonave në një tabelë që identifikojnë në mënyrë unike një rresht. Por konsiderohet të jetë një rast i veçantë i çelësit unik.
Çfarë është çelësi unik?
Siç u përmend më herët, çelësi unik është një kolonë e vetme ose grup kolonash që mund të identifikojnë në mënyrë unike një rresht në një tabelë. Pra, një çelës unik është i kufizuar në mënyrë që të mos ketë dy vlera të barabarta. Një veçori e rëndësishme është se çelësat unikë nuk zbatojnë kufizimin NOT NULL. Meqenëse NULL përfaqëson mungesën e një vlere, nëse dy rreshta kanë NULL në një kolonë, atëherë nuk do të thotë se vlerat janë të barabarta. Kolona e përcaktuar si një çelës unik lejon vetëm një vlerë të vetme NULL në atë kolonë. Pastaj mund të përdoret për të identifikuar atë rresht të veçantë në mënyrë unike. Për shembull, në një tabelë që përmban informacionin e studentit, ID-ja e studentit mund të përcaktohet si një çelës unik. Meqenëse asnjë student nuk mund të ketë të njëjtën ID, ai identifikon në mënyrë unike një student të vetëm. Pra, kolona ID e studentit plotëson të gjitha vetitë e një çelësi unik. Në varësi të dizajnit të bazës së të dhënave, një tabelë mund të ketë më shumë se një çelës unik.
Çfarë është çelësi kryesor?
Çelësi primar është gjithashtu 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. Pra, një kolonë që përcaktohet si çelësi kryesor 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 numri 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. Çelësat primar përcaktohen përmes kufizimit PRIMARY KEY në ANSI SQL Standard. Çelësi primar mund të përcaktohet gjithashtu gjatë krijimit të tabelës. 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 është përcaktuar në mënyrë implicite të jetë NUK 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.
Dallimi midis çelësit primar dhe çelësit unik
Edhe pse çelësi kryesor dhe çelësi unik janë një ose më shumë kolona që mund të identifikojnë në mënyrë unike një rresht në një tabelë, ato kanë disa dallime të rëndësishme. Më e rëndësishmja, një tabelë mund të ketë vetëm një çelës të vetëm primar ndërsa mund të ketë më shumë se një çelës unik. Çelësi primar mund të konsiderohet si një rast i veçantë i çelësit unik. Një ndryshim tjetër është se çelësat kryesorë kanë një kufizim të nënkuptuar NOT NULL ndërsa çelësi unik nuk e ka atë kufizim. Prandaj, kolonat e çelësit unik mund të përmbajnë ose jo vlera NULL, por kolonat kryesore të çelësit nuk mund të përmbajnë vlera NULL.