Forein Keys

Een FOREIGN KEY in MySQL is een manier om relaties tussen tabellen in een database aan te geven. Het is een veld (of een verzameling velden) in één tabel die verwijst naar de PRIMARY KEY van een andere tabel. Het doel van de FOREIGN KEY is om te zorgen voor referentiële integriteit van de gegevens, wat betekent dat de relaties tussen tabellen worden gehandhaafd en dat er geen ongeldige gegevens worden ingevoegd.

Stel bijvoorbeeld dat je twee tabellen hebt: een “werknemers” tabel en een “afdelingen” tabel. Elke werknemer werkt op een bepaalde afdeling en elke afdeling heeft meerdere werknemers. Je kunt deze relatie aangeven door een FOREIGN KEY in de “werknemers” tabel die verwijst naar de PRIMARY KEY van de “afdelingen” tabel.

CREATE TABLE afdelingen (
    id INT AUTO_INCREMENT PRIMARY KEY,
    naam VARCHAR(255) NOT NULL
);

CREATE TABLE werknemers (
    id INT AUTO_INCREMENT PRIMARY KEY,
    voornaam VARCHAR(255) NOT NULL,
    achternaam VARCHAR(255) NOT NULL,
    afdeling_id INT,
    FOREIGN KEY (afdeling_id) REFERENCES afdelingen(id)
);

In dit voorbeeld hebben we twee tabellen gemaakt: “afdelingen” en “werknemers”. De “afdelingen” tabel heeft een PRIMARY KEY “id” en een kolom “naam”. De “werknemers” tabel heeft een PRIMARY KEY “id”, kolommen “voornaam” en “achternaam”, en een FOREIGN KEY “afdeling_id” die verwijst naar de PRIMARY KEY van de “afdelingen” tabel.

Met deze FOREIGN KEY kunnen we ervoor zorgen dat elke werknemer is toegewezen aan een bestaande afdeling. Als we proberen een werknemer toe te voegen met een afdeling_id die niet bestaat in de “afdelingen” tabel, zal MySQL een foutmelding geven.

FOREIGN KEYs helpen dus om de integriteit van de gegevens in onze database te behouden en om ervoor te zorgen dat relaties tussen tabellen correct worden gehandhaafd.