En kandidatnøkkel er en kombinasjon av attributter som unikt identifiserer en databasepost uten å referere til andre data. Hvert bord kan ha en eller flere kandidater. En av disse kandidatnøklene er valgt som primærnøkkel for tabellen. En tabell inneholder bare én primærnøkkel, men den kan inneholde flere kandidatnøkler. Hvis en kandidatnøkkel er sammensatt av to eller flere kolonner, kalles den en sammensatt nøkkel.
Properties of a Candidate Key
Alle kandidatnøkler har noen felles egenskaper. En av egenskapene er at i hele levetiden til kandidatnøkkelen må attributtet som brukes for identifikasjon forbli det samme. En annen er at verdien ikke kan være null. Til slutt må kandidatnøkkelen være unik.
For eksempel, for å spesifikt og unikt identifisere hver ansatt, kan et selskap bruke den ansattes personnummer. Noen mennesker deler samme fornavn, etternavn og stilling, men ingen bruker det samme personnummeret.
personnummer | Fornavn | Etternavn | Position |
---|---|---|---|
123-45-6780 | Craig | Jones | Manager |
234-56-7890 | Craig | Beal | Associate |
345-67-8900 | Sandra | Beal | Manager |
456-78-9010 | Trina | Jones | Associate |
567-89-0120 | Sandra | Smith | Associate |
Eksempler på kandidatnøkler
Noen typer data egner seg lett som kandidater:
- International Standard Book Numbers: ISBN-numre identifiserer bøker og relaterte medier unikt. Utstedelsen av ISBN-numre er strengt regulert av bransjens portvakter, og ISBN-numre blir aldri gjenbrukt av utgivere.
- Bankkontonumre: De fleste banker resirkulerer ikke kontonumre.
- Serienumre: Selv om serienumre ikke er regulert på tvers av bransjer, skal et serienummer alltid være unikt i sammenheng med én enkelt leverandør.
- Førerkortnumre: Disse numrene er vanligvis ikke duplisert. En person som flytter fra stat til stat kan imidlertid ha mer enn ett DL-nummer.
- Nasjonal leverandør-ID: Leger og andre lisensierte medisinske leverandører har hver minst én NPI som er unik for dem, utstedt av US Department of He alth and Human Services.
Noen typer informasjon som kan virke som gode kandidater, viser seg imidlertid å være problematiske:
- Telefonnumre: De fleste operatører resirkulerer telefonnumre, og individuelle abonnenter kan bruke flere telefonnumre samtidig.
- Universelle priskoder: UPC-er er unike, men eieren av en UPC-blokk kan resirkulere produkter etter eget ønske.
- Medisinske journalnumre: MRN-er utstedes vanligvis på sykehusnivå, uten noen form for nasjonal veiledning om strukturen og formatet til disse identifikatorene.
- Social Security Numbers: Selv om de er teoretisk unike, blir SSN-er resirkulert, og SSN-svindel er vanlig nok til å gjøre denne identifikatoren problematisk på tvers av store datasett. (I sammenheng med en arbeidsgiver som verifiserer SSN-er, er ikke denne utfordringen et problem.)