Elsődleges kulcs vs egyedi kulcs
Az oszlop vagy oszlopkészlet, amelyet egy sor vagy sorkészlet azonosításához vagy eléréséhez használható adatbázisban, kulcsnak nevezzük. Az egyedi kulcs egy olyan kulcs, amely egy relét egy adatbázis egyedileg képes azonosítani a relációs adatbázisok összefüggésében. Az egyedi kulcs egyetlen oszlopból vagy oszlopkészletből áll. Az elsődleges kulcs egy oszlopok kombinációja a táblázatban, amelyek egyértelműen azonosítják a sort. De ezt az egyedi kulcs különleges esetének tekintik.
Mi az egyedi kulcs??
Mint korábban már említettük, az egyedi kulcs egyetlen oszlop vagy oszlopkészlet, amely egy táblát egyedileg azonosíthat. Tehát egy egyedi kulcs akkor van korlátozva, hogy annak két értéke nem egyenlő. Az egyik fontos tulajdonság az, hogy az egyedi kulcsok nem érvényesítik a NULL korlátozást. Mivel a NULL egy érték hiányát képviseli, ha két sorban NULL van egy oszlopban, akkor ez nem jelenti azt, hogy az értékek azonosak. Az egyedi kulcsként definiált oszlop csak egyetlen NULL értéket enged meg abban az oszlopban. Ezután felhasználható az adott sor egyedi azonosítására. Például a hallgatói információkat tartalmazó táblázatban a hallgató azonosítója egyedi kulcsként definiálható. Mivel két hallgatónak nem lehet azonos azonosítója, egyedileg azonosítja az egyetlen hallgatót. Tehát a hallgatói azonosító oszlop kielégíti az egyedi kulcs összes tulajdonságát. Az adatbázis kialakításától függően a táblázatoknak egynél több egyedi kulcsa is lehet.
Mi az elsődleges kulcs??
Az elsődleges kulcs egy oszlop vagy oszlopok kombinációja, amely egyértelműen meghatározza a sort egy relációs adatbázis táblázatában. Egy táblázatnak legfeljebb egy elsődleges kulcsa lehet. Az elsődleges kulcs az implicit NOT NULL korlátozást érvényesíti. Tehát az elsődleges kulcsként definiált oszlopban NULL értékek nem lehetnek. Az elsődleges kulcs lehet a táblázatban szereplő normál attribútum, amely garantáltan egyedi, például a társadalombiztosítási szám, vagy az adatbázis-kezelő rendszer, például a globálisan egyedi azonosító (GUID) által létrehozott egyedi érték lehet a Microsoft SQL Server rendszerben. Az elsődleges kulcsokat az ANSI SQL Standard PRIMARY KEY korlátozása határozza meg. Az elsődleges kulcs a tábla létrehozásakor is meghatározható. Az SQL lehetővé teszi, hogy az elsődleges kulcs egy vagy több oszlopból álljon, és az elsődleges kulcsban szereplő minden oszlop hallgatólagosan NEM NULL. Egyes adatbázis-kezelő rendszerek azonban megkövetelik, hogy az elsődleges kulcs oszlopok kifejezetten NE NULL legyenek.
Az elsődleges és az egyedi kulcs közötti különbség
Annak ellenére, hogy mind az elsődleges, mind az egyedi kulcs egy vagy több oszlop, amelyek egyértelműen azonosíthatják a táblázat egy sorát, van néhány fontos különbség. A legfontosabb, hogy a táblázat csak egyetlen elsődleges kulcsot tartalmazzon, míg egynél több egyedi kulcsot is tartalmazhat. Az elsődleges kulcs az egyedi kulcs különleges esetének tekinthető. Egy másik különbség az, hogy az elsődleges kulcsok implicit NOT NULL kényszerrel rendelkeznek, míg az egyedi kulcsnak nincs ilyen korlátozása. Ezért az egyedi kulcsoszlopok tartalmazhatnak vagy nem tartalmazhatnak NULL értékeket, de az elsődleges kulcs oszlopok nem tartalmazhatnak NULL értékeket.