9: Sleutels

Elke tabel in een database heeft een kolom, of een combinatie van kolommen, die uniek is. Daarmee wordt bedoeld dat elk woord of getal in die kolom (of de combinatie van de woorden en/of getallen in die kolommen) maar één keer voorkomt.

Die kolom, of combinatie van kolommen, noemen we de (primaire) sleutel van de tabel (in het engels primary key).

Voor een primaire steutel geldt:

  • In elke rij moet in de sleutelkolom(men) iets zijn ingevuld.

  • Deze waarden (of combinaties van waarden) zijn verschillend voor alle rijen.

Bij de tabellen van de database bibliotheek, die in het vorige hoofdstuk beschreven is, heb je ook primaire sleutels.

Bij de tabel leerlingen is het sleutelveld de kolom llnr. Als je het llnr weet dan weet je precies welke leerling er bedoeld wordt.

Als je de kolom naam als sleutelveld kiest dan heb je een probleem als er twee leerlingen met dezelfde naam zijn.

Wel zou je het mobiele nummer als sleutel kunnen kiezen, want twee leden met hetzelfde mobiele nummer zullen niet voorkomen. Als er verschillende mogelijkheden zijn om een sleutel te kiezen dan noem je dat kandidaat-sleutels. Meestal kies je als primaire sleutel de eenvoudigste kandidaat-sleutel; het liefst één kolom, en vaak wordt er daarom een extra kolom toegevoegd met een nummer, die dan als sleutelveld dienst doet.

De tabellen van de database bibliotheek staan niet los van elkaar, er bestaat een bepaald verband tussen de meeste tabellen; ze hebben een relatie.

In de tabel uitleningen staan bijvoorbeeld leerlingennummers (llnr). Als je wilt weten wie bij een gegeven llnr hoort, dan moet je dat opzoeken in de leerlingen tabel.

Zo'verband tussen de gegevens in de ene tabel en die in een andere tabel noem je een verwijzing of referentie-sleutel, in het engels foreign key.

Verwijzingen kunnen door een RDBMS (database programma) worden gecontroleerd. Als je bij een uitlening als boeknummer een nummer invult, dat niet voorkomt bij de boeken-tabel, dan kan het programma een foutmelding geven. Tenminste als in het programma is aangegeven dat die relatie er is.

Het controleren van de verwijzingen noemen we het bewaken van de referentiële integriteit.

Last updated