We gaan even kijken wat precies een ‘primaire sleutel‘ is, wat een ‘buitenlandse (of externe) sleutel‘ is, en wat precies het verschil is tussen beide.
Beiden zijn belangrijk als het op opmaken en onderhouden van relationele database-structuren aankomt.
PRIMAIRE SLEUTEL
De primaire sleutel is één attribuut van een entiteit dat het als uniek identificeert.
Om een tabel te kwalificeren als een relationele tabel, moet deze een primaire sleutel hebben.
De primaire sleutel bestaat uit één (of meer) kolommen waarvan de gegevens worden gebruikt om elke rij in de tabel uniek te identificeren. Bijvoorbeeld: Als de rijen in een tabel boeken waren, dan zou de primaire sleutel het unieke ISBN-nummer zijn.
Om een primaire sleutel te zijn, moeten verschillende voorwaarden gelden.
Ten eerste moeten de kolommen, zoals we al zeiden, uniek zijn. Ter verduidelijking: we verwijzen naar de gegevens in de rijen, niet naar de kolomnamen zelf.
Bij het aanmaken of definiëren van een tabel specificeer je de primaire sleutel. Een tabel heeft slechts één primaire sleutel en de definitie ervan is verplicht. Deze primaire sleutel kan bestaan uit een enkel of uit meerdere kolommen (velden).
Geen enkele waarde in deze kolom mag leeg of NULL zijn.
EXTERNE SLEUTEL
Externe sleutels dienen om dubbele gegevens tegen te gaan. Ze verwijzen naar attributen van een andere entiteit.
Een externe sleutel is een set van één of meer kolommen in een tabel (één of meer attributen van een entiteit) die verwijst naar de primaire sleutel in een andere tabel. Er zijn geen speciale codes, configuraties of tabeldefinities die u moet plaatsen om een externe sleutel officieel ‘aan te duiden’.
Momenteel kunnen we dit zo voorstellen:
Soms is het nodig om een extra entiteit toe te voegen om de verschillende tabellen te koppelen:
Entiteitstypes kunnen relaties hebben met andere entiteitstypes (relational data). Zo kan er een soort van link tussen meerdere tabellen ontstaan.