Een kandidaatsleutel is een combinatie van attributen die een databaserecord uniek identificeren zonder te verwijzen naar andere gegevens. Elke tafel kan een of meer kandidaten hebben. Een van deze kandidaatsleutels wordt geselecteerd als de primaire sleutel van de tabel. Een tabel bevat slechts één primaire sleutel, maar kan meerdere kandidaatsleutels bevatten. Als een kandidaatsleutel uit twee of meer kolommen bestaat, wordt dit een samengestelde sleutel genoemd.
Eigenschappen van een kandidaatsleutel
Alle kandidaatsleutels hebben enkele gemeenschappelijke eigenschappen. Een van de eigenschappen is dat voor de levensduur van de kandidaat-sleutel het attribuut dat wordt gebruikt voor identificatie hetzelfde moet blijven. Een andere is dat de waarde niet null kan zijn. Ten slotte moet de kandidaatsleutel uniek zijn.
Om bijvoorbeeld elke werknemer specifiek en uniek te identificeren, kan een bedrijf het sofinummer van de werknemer gebruiken. Sommige mensen hebben dezelfde voornamen, achternaam en functie, maar geen twee mensen gebruiken hetzelfde burgerservicenummer.
Sofinummer | Voornaam | Achternaam | Positie |
---|---|---|---|
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 |
Voorbeelden van kandidaatsleutels
Sommige soorten gegevens lenen zich gemakkelijk als kandidaten:
- International Standard Book Numbers: ISBN's identificeren boeken en gerelateerde media op unieke wijze. De uitgifte van ISBN's wordt streng gereguleerd door poortwachters van de sector en ISBN's worden nooit hergebruikt door uitgevers.
- Bankrekeningnummers: De meeste banken recyclen geen rekeningnummers.
- Serienummers: Hoewel serienummers niet voor alle bedrijfstakken gelden, moet een serienummer in de context van een enkele leverancier altijd uniek zijn.
- Rijbewijsnummers: Meestal worden deze nummers niet gedupliceerd. Een persoon die van staat naar staat verhuist, kan echter meer dan één DL-nummer hebben.
- National Provider ID: Artsen en andere erkende medische zorgverleners hebben elk ten minste één NPI die uniek is voor hen, uitgegeven door het Amerikaanse ministerie van Volksgezondheid en Human Services.
Sommige soorten informatie die goede kandidaten lijken, blijken echter problematisch:
- Telefoonnummers: De meeste providers recyclen telefoonnummers en individuele abonnees kunnen meerdere telefoonnummers tegelijk gebruiken.
- Universele prijscodes: UPC's zijn uniek, maar de eigenaar van een UPC-blok kan producten naar believen recyclen.
- Medische dossiernummers: MRN's worden over het algemeen op ziekenhuisniveau afgegeven, zonder enige vorm van nationale richtlijnen over de structuur en het formaat van deze identificatiegegevens.
- BSN-nummers: hoewel ze theoretisch uniek zijn, worden SSN's gerecycled en SSN-fraude komt vaak genoeg voor om deze identifier problematisch te maken voor grote datasets. (In de context van een werkgever die SSN's verifieert, is deze uitdaging geen probleem.)