Verschil tussen primaire sleutel en kandidaat-sleutel

Primaire sleutel versus kandidaat-sleutel
 

Hoewel de primaire sleutel wordt geselecteerd uit de kandidaatsleutels, bestaat er een verschil tussen de primaire sleutel en de andere kandidaatsleutels, die in dit artikel in detail worden besproken. Database ontwerpen is een van de belangrijkste activiteiten die moet worden gedaan bij het onderhouden en opslaan van gegevens. Tijdens dit ontwerpproces moeten verschillende tabellen met veel relaties worden gemaakt. Om toegang te krijgen tot deze tabellen in een database, worden verschillende soorten sleutels gebruikt in moderne databaseontwerptalen zoals MYSQL, MSAccess, SQLite, etc. Van deze sleutels zijn kandidaatsleutels en primaire sleutels essentieel geworden in databaseontwerppraktijken..

Wat is een Kandidaatsleutel?

Kandidaatsleutel is een enkele kolom of reeks kolommen in een tabel van een database die kan worden gebruikt unieke identificatie van databaserecords zonder verwijzing naar andere gegevens. Elke tabel van een database kan een of meer kandidaat-sleutels bevatten. Een set kandidaat-sleutels kan worden gemaakt met behulp van functionele afhankelijkheden. Er zijn enkele belangrijke functies in een kandidaat-sleutel. Zij zijn;

• kandidaatsleutels moeten uniek zijn binnen het domein en mogen geen NULL-waarden bevatten.

• de kandidaat-sleutel mag nooit veranderen en moet dezelfde waarde hebben voor een specifiek exemplaar van een entiteit.

Het belangrijkste doel van een kandidaat-sleutel is om een ​​enkele rij uit miljoenen rijen in een grote tabel te identificeren. Elke kandidaat-sleutel is gekwalificeerd om een ​​primaire sleutel te worden. Van alle kandidaatsleutels wordt de belangrijkste en speciale kandidaatsleutel echter de primaire sleutel van een tabel en is deze de beste onder de kandidaatsleutels.

Wat is een primaire sleutel?

Een primaire sleutel is de beste kandidaat-sleutel van een tabel die wordt gebruikt om records uniek te identificeren die zijn opgeslagen in een tabel. Bij het maken van een nieuwe tabel in een database wordt ons gevraagd een primaire sleutel te selecteren. Daarom is de selectie van een primaire sleutel voor een tabel de meest kritische beslissing die door een databaseontwerper moet worden genomen. De belangrijkste beperking, die bij het bepalen van een primaire sleutel moet worden overwogen, is dat de geselecteerde kolom van de tabel alleen unieke waarden mag bevatten en geen NULL-waarden mag bevatten. Enkele van de belangrijkste sleutels die vaak worden gebruikt bij het ontwerpen van tabellen zijn BSN (Social Security Number), ID en het identiteitskaartnummer (National Identity Card Number - NIC).

De programmeur zou moeten onthouden om zorgvuldig een primaire sleutel te kiezen omdat deze moeilijk te veranderen is. Daarom is het volgens de programmeurs de beste manier om een ​​primaire sleutel te maken door een intern gegenereerde primaire sleutel te gebruiken, zoals Record-ID gemaakt door AutoNumber-gegevenstype MS Access. Als we proberen een record in een tabel in te voegen met een primaire sleutel die een bestaande record dupliceert, mislukt de invoeging. De primaire sleutelwaarde moet niet blijven veranderen, dus is het belangrijker om een ​​statische primaire sleutel te behouden.

Een primaire sleutel is de beste kandidaat-sleutel.

Wat is het verschil tussen Primaire sleutel en Kandidatencode?

• Een kandidaatsleutel is de kolom die kwalificeert als uniek, terwijl primaire sleutel de kolom is die een record uniek identificeert.

• Een tabel zonder kandidaatsleutels vertegenwoordigt geen relatie.

• Er kunnen veel kandidaat-sleutels zijn voor een tabel in een database, maar er moet slechts één primaire sleutel voor een tabel zijn.

• Hoewel de primaire sleutel een van de kandidaatsleutels is, is het soms de enige kandidaatsleutel.

• Nadat een primaire sleutel was geselecteerd, werden de andere kandidaat-sleutels unieke sleutels.

• Praktisch een kandidaat-sleutel kan NULL-waarden bevatten, hoewel deze momenteel geen waarde bevat. Daarom is de kandidaatsleutel niet gekwalificeerd voor een primaire sleutel, omdat de primaire sleutel geen NULL-waarden mag bevatten.

• Het kan ook zijn dat kandidaatsleutels, die op dit moment uniek zijn, dubbele waarden kunnen bevatten die een kandidaatsleutel diskwalificeren als primaire sleutel.

Samenvatting:

Primaire sleutel versus kandidaat-sleutel

Kandidaat sleutel en primaire sleutel zijn essentiële sleutels die worden gebruikt bij het ontwerpen van databases om op unieke wijze gegevens in een record te identificeren en relaties tussen tabellen van een database te maken. Een tabel mag slechts één primaire sleutel bevatten en kan meerdere kandidaatsleutels bevatten. Tegenwoordig zijn de meeste databases in staat om hun eigen primaire sleutel automatisch te genereren. Daarom bieden de primaire sleutel en de kandidaatsleutels een groot aantal ondersteuning voor de databasebeheersystemen.

Afbeeldingen beleefdheid: 

  1. Hoofdsleutel door  SqlPac (CC BY-SA 3.0)