Dictionary

Primaire sleutel

Een primaire sleutel is de kolom, of combinatie van kolommen, waarmee elke rij in een tabel uniek herkenbaar is. Ze voorkomt dubbele identiteiten en is vaak het punt waar andere tabellen naar verwijzen.

Wat is een primaire sleutel?

Een primaire sleutel is de kolom waarmee elke rij in een tabel uniek herkenbaar is. In een klantentabel is dat bijvoorbeeld customer_id: elke klant krijgt precies één waarde, en geen twee klanten delen dezelfde waarde.

In SQL is een primaire sleutel meer dan een afspraak in je hoofd. De databank bewaakt ze. Een rij zonder waarde in de primaire sleutel mag niet, en een dubbele waarde wordt geweigerd. Daardoor kan je op die sleutel vertrouwen wanneer je tabellen aan elkaar koppelt.

Zie ze als het rijksregisternummer van een rij. Namen kunnen dubbel voorkomen en adressen kunnen veranderen. De primaire sleutel blijft het vaste aanknopingspunt.

Hoe ziet dat eruit in SQL?

De eenvoudigste vorm is één kolom die als primaire sleutel wordt aangeduid.

CREATE TABLE customers (
  customer_id integer PRIMARY KEY,
  name text NOT NULL,
  email text
);

Je kan de regel ook onderaan de tabeldefinitie schrijven. Dat is handig wanneer de sleutel uit meerdere kolommen bestaat.

CREATE TABLE order_lines (
  order_id integer NOT NULL,
  line_no integer NOT NULL,
  product_id integer NOT NULL,
  quantity integer NOT NULL,
  PRIMARY KEY (order_id, line_no)
);

In beide gevallen zegt de databank hetzelfde: deze kolom of combinatie mag niet leeg zijn en moet elke rij uniek maken.

Wanneer gebruik je een primaire sleutel?

  • Om rijen betrouwbaar terug te vinden. Een rapport of applicatie kan naar customer_id = 42 verwijzen zonder te gokken over naam, e-mail of spelling.

  • Om tabellen te koppelen. Een order verwijst naar de klant via een vreemde sleutel. Die verwijzing heeft pas waarde als de klantentabel zelf een stabiele primaire sleutel heeft.

  • Om dubbele records te vermijden. De databank weigert twee rijen met dezelfde sleutel. Dat is een harde grens, geen achterafcontrole.

  • Om incrementele ladingen eenvoudiger te maken. Een datapijplijn kan nieuwe en gewijzigde rijen herkennen aan een stabiele sleutel.

Primaire sleutel versus unieke sleutel

Een unieke sleutel zegt dat een kolom geen dubbele waarden mag bevatten. Een primaire sleutel doet dat ook, maar ze is de officiële identiteit van de rij. Een tabel kan meerdere unieke regels hebben, maar in een relationele databank heeft ze hoogstens één primaire sleutel.

Een klantentabel kan bijvoorbeeld een unieke regel op e-mailadres hebben en tegelijk customer_id als primaire sleutel gebruiken. Dat is vaak verstandig. E-mailadressen kunnen wijzigen, klantnummers meestal niet.

Waar moet je op letten bij het gebruik van een primaire sleutel

  • Kies iets stabiels. Een waarde die later wijzigt, zoals een e-mailadres, is zelden een goede primaire sleutel.

  • Verwar identiteit niet met betekenis. Een oplopend nummer zegt wie de rij is, niet wat de rij betekent. De betekenis hoort in gewone kolommen.

  • Let op bij data uit meerdere bronnen. Twee systemen kunnen allebei klant 123 hebben. In een data warehouse voeg je dan vaak de bronnaam toe of gebruik je een surrogaatsleutel.

FAQ over primaire sleutels

1. Moet elke tabel een primaire sleutel hebben?
Voor operationele en analytische tabellen is dat bijna altijd verstandig. Zonder sleutel wordt bijwerken, koppelen en ontduppelen veel moeilijker.

2. Mag een primaire sleutel uit meerdere kolommen bestaan?
Ja. Dat heet een samengestelde sleutel. Je ziet dat vaak bij tussentabellen en orderregels.

3. Is een primaire sleutel hetzelfde als een index?
Nee. De databank maakt vaak automatisch een index om de sleutel snel te controleren, maar de primaire sleutel is de identiteitsregel zelf.

Laatst Bijgewerkt: July 9, 2026 Terug naar Woordenboek
Trefwoorden
primaire sleutel primary key sql data warehouse datakwaliteit vreemde sleutel database relationele database