Home » De primary key in SQL: geef elk record een unieke primaire sleutel

De primary key in SQL: geef elk record een unieke primaire sleutel

Met een primary key (primaire sleutel) in SQL zorg je ervoor dat een rij in een tabel een unieke waarde heeft. Dit is de waarde waarmee je vervolgens het record kunt herkennen.

Wat is een primary key in SQL?

Een primary key in SQL bestaat uit een of meerdere velden en bevat als sleutel een unieke waarde. Door middel van deze waarde wordt het eenvoudiger om een record uit de database tabel op te vragen.

Meestal wordt er een ID-veld als primaire sleutel gedefinieerd. Dit veld wordt automatisch opgehoogd op het moment dat een nieuw record wordt toegevoegd aan de tabel.

Een primaire sleutel kan overigens ook bestaan uit meerdere velden, zolang de waarden samen maar uniek zijn. Een voorbeeld kan zijn: Postcode en Huisnummer. Tezamen vormen deze een uniek gegeven.

Het is belangrijk om te weten dat je in SQL per tabel slechts 1 primaire sleutel kunt definiëren.

Hoe definieer je een primaire sleutel?

Om in SQL een primary key te maken geef je bij de tabel definitie een zogeheten constraint op. Deze constraint geef je een naam. Vervolgens geef je aan uit welke kolommen de PRIMARY KEY moet bestaan.

CREATE TABLE tabelnaam
    (
        kolomnaam1 datatype,
        kolomnaam2 datatype,
        CONSTRAINT Constraintnaam PRIMARY KEY (kolomnaam)
    )

In onderstaand voorbeeld wordt een tabel aangemaakt. Hierin worden persoonsgegevens worden opgeslagen. In deze tabel wordt van de persoon een uniek id-nummer opgeslagen en daarnaast ook de voor- en achternaam, woonplaats en het geslacht.

Het id-nummer is in dit geval de primary key, waardoor ieder record in SQL geïdentificeerd kan worden met dit veld..

CREATE TABLE persoon
    (
        id int,
        Voornaam varchar(255) NOT NULL,
        Achternaam varchar(255) NOT NULL,
        Woonplaats varchar(255),
        Geslacht varchar(1),
        CONSTRAINT PK_persoon PRIMARY KEY (id)
    )

Een alternatieve manier om in SQL de primary key te bepalen is door het bij de kolomdefinitie zelf op te nemen:

CREATE TABLE persoon
    (
        id int PRIMARY KEY,
        Voornaam varchar(255) NOT NULL,
        Achternaam varchar(255) NOT NULL,
        Woonplaats varchar(255),
        Geslacht varchar(1)
    )

Wat kun je met de primary key in SQL?

Een primary key kun je onder andere gebruiken om met een SQL-query records uit een tabel te selecteren. Je vraagt dan door middel van een query: “Geef mij het record waarvan het kolom id de waarde 1337 heeft”. Als dit record aanwezig is krijg je deze vervolgens terug.

Daarnaast kun je de primary key gebruiken voor het leggen van relaties met andere tabellen. In de tabellen waarmee je de relatie legt geef je een foreign key op, oftewel een vreemde sleutel en deze kan verwijzen naar de primaire sleutel.

Het is vervolgens mogelijk om gegevens uit meerdere tabellen te halen door middel van zo’n vreemde sleutel. Om dit te doen gebruik je bijvoorbeeld een INNER JOIN.