Leer alles over SQL

De primary key in database tabellen

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

Wat is een primary key?

Een primary key 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 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 per tabel slechts 1 primaire sleutel kunt definiƫren.

Hoe definieer je een primaire sleutel?

Bij het maken van de tabel geef je 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, waarin persoonsgegevens worden opgeslagen. In deze tabel wordt van de persoon een uniek id-nummer opgeslagen, zijn voor- en achternaam, woonplaats en het geslacht. Het id-nummer is in dit geval de primary key, omdat ieder veld hiermee geĆÆdentificeerd kan worden.

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)
    )

Wat kun je met de primary key?

Een primary key kun je onder andere gebruiken om 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. Bij een dergelijke selectie weet je dat je altijd een record terugkrijgt.

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.