Wat is een primaire sleutel?
Een primaire sleutel is een vermelding in een database die uniek is voor één record. Deze sleutel wordt meestal op twee manieren afgeleid: een unieke identificatiecode van buiten de database of een gegenereerd nummer vanuit de database. Wanneer de database informatie bevat die altijd uniek is voor het item, zoals een sofinummer of onderdeelidentificatienummer, worden deze meestal gebruikt als primaire sleutel. Wanneer de gegevens geen dergelijke identificatie hebben, maakt de database vaak cijfers op basis van de interne systemen om elk record een unieke code te geven.
Er zijn drie belangrijke beperkingen voor een primaire sleutel: bestaan, uniekheid en onveranderlijkheid. Een sleutel moet bestaan op het moment dat de record wordt gemaakt - deze kan later niet worden toegevoegd. Elke sleutel moet compleet anders zijn dan elke andere sleutel. Dit betekent dat algemene identificatiegegevens, zoals naam of geboortedatum, niet kunnen worden gebruikt omdat het mogelijk is dat twee mensen op dezelfde dag met dezelfde naam worden geboren. Ten slotte kan een primaire sleutel na wijziging nooit meer worden gewijzigd.
Aangezien een database mogelijk een oneindig aantal vermeldingen kan bevatten, moet een primaire sleutel ook oneindig zijn. Om ervoor te zorgen dat een database nooit zonder sleutels raakt, gebruiken de meeste records een numerieke code voor de sleutel. Omdat getallen altijd groter kunnen worden en computers eenvoudig nullen voor plaatsen kunnen toevoegen aan oudere items, raakt een systeem nooit zonder sleutels. Soms zijn deze cijfers gebaseerd op niet-unieke informatie, maar wordt een unieke identificatie toegevoegd om ervoor te zorgen dat de sleutel levensvatbaar is.
Databases gebruiken een primaire sleutel om gegevens te ordenen. Aangezien de sleutel nooit wordt herhaald, zal dat stuk informatie de database in staat stellen elk record gescheiden van elkaar te houden. Elk stukje informatie in een record is terug verbonden met de sleutel; Op die manier kan de database, ongeacht wat er met het systeem gebeurt, de records opnieuw opbouwen uit losse informatie.
Het toewijzen van een betekenisvolle primaire sleutel wordt vaak gezien als een betere praktijk dan het automatisch genereren van een waarde. Dit geeft de record een ID die zowel als sleutel werkt en gegevens levert. In kleine databases is dit onderscheid zelden nodig, maar in grote systemen kan de extra ruimte die wordt gebruikt door een gegenereerde sleutel resulteren in een ernstige opgeblazen database. Dit vertraagt het systeem en zorgt ervoor dat de database aanzienlijk meer opslagruimte nodig heeft.