Primêre sleutel teenoor unieke sleutel
'n Kolom of 'n stel kolomme wat gebruik kan word om 'n ry of 'n stel rye in 'n databasis te identifiseer of toegang te verkry, word 'n sleutel genoem. 'n Unieke sleutel is 'n sleutel wat 'n ry in 'n tabel uniek kan identifiseer in die konteks van relasionele databasisse. 'n Unieke sleutel bestaan uit 'n enkele kolom of 'n stel kolomme. 'n Primêre sleutel is ook 'n kombinasie van kolomme in 'n tabel wat 'n ry uniek identifiseer. Maar dit word beskou as 'n spesiale geval van die unieke sleutel.
Wat is unieke sleutel?
Soos vroeër genoem, is unieke sleutel 'n enkele kolom of stel kolomme wat 'n ry in 'n tabel uniek kan identifiseer. Dus, 'n unieke sleutel word so beperk dat geen twee waardes daarvan gelyk is nie. Een belangrike eienskap is dat die unieke sleutels nie die NOT NULL-beperking afdwing nie. Aangesien NULL die gebrek aan 'n waarde verteenwoordig, as twee rye NULL in 'n kolom het, beteken dit nie dat die waardes gelyk is nie. Kolom gedefinieer as 'n unieke sleutel laat slegs 'n enkele NULL-waarde in daardie kolom toe. Dan kan dit gebruik word om daardie spesifieke ry uniek te identifiseer. Byvoorbeeld, in 'n tabel wat studenteinligting bevat, kan studente-ID as 'n unieke sleutel gedefinieer word. Aangesien geen twee studente dieselfde ID kan hê nie, identifiseer dit 'n enkele student uniek. Die studente-ID-kolom voldoen dus aan al die eienskappe van 'n unieke sleutel. Afhangende van die ontwerp van 'n databasis, kan 'n tabel meer as een unieke sleutel hê.
Wat is primêre sleutel?
Primêre sleutel is ook 'n kolom of 'n kombinasie van kolomme wat 'n ry in 'n tabel van 'n relasionele databasis uniek definieer. 'n Tabel kan hoogstens een primêre sleutel hê. Primêre sleutel dwing die implisiete NIE NULL-beperking af nie. Dus, 'n kolom wat as die primêre sleutel gedefinieer word, kan nie NULL-waardes in hê nie. Primêre sleutel kan 'n normale kenmerk in die tabel wees wat gewaarborg is om uniek te wees, soos sosiale sekerheidsnommer, of dit kan 'n unieke waarde wees wat deur die databasisbestuurstelsel gegenereer word, soos 'n Globally Unique Identifier (GUID) in Microsoft SQL Server. Primêre sleutels word gedefinieer deur die PRIMARY KEY-beperking in ANSI SQL Standard. Primêre sleutel kan ook gedefinieer word wanneer die tabel geskep word. SQL laat toe dat primêre sleutel uit een of meer kolomme bestaan en elke kolom wat by die primêre sleutel ingesluit is, word implisiet gedefinieer as NIE NULL nie. Maar sommige databasisbestuurstelsels vereis om die primêre sleutelkolomme uitdruklik NIE NULL te maak nie.
Verskil tussen primêre sleutel en unieke sleutel
Al is beide die primêre sleutel en unieke sleutel een of meer kolomme wat 'n ry in 'n tabel uniek kan identifiseer, het hulle 'n paar belangrike verskille. Die belangrikste is dat 'n tabel slegs 'n enkele primêre sleutel kan hê, terwyl dit meer as een unieke sleutel kan hê. Primêre sleutel kan beskou word as 'n spesiale geval van die unieke sleutel. Nog 'n verskil is dat primêre sleutels 'n implisiete NOT NULL beperking het terwyl die unieke sleutel nie daardie beperking het nie. Daarom kan unieke sleutelkolomme NULL-waardes bevat of nie, maar primêre sleutelkolomme kan nie NULL-waardes bevat nie.