Sobes.tech
Middle

Hoe implementeer je op fysiek niveau een een-op-een relatie tussen twee tabellen?

sobes.tech AI

Antwoord van AI

De een-op-een relatie tussen twee tabellen op fysiek niveau wordt op verschillende manieren geïmplementeerd:

  1. Gemeenschappelijke primaire sleutel — beide tabellen hebben dezelfde primaire sleutelwaarde, en in een van de tabellen fungeert deze sleutel ook als buitenlandse sleutel naar de andere tabel.

  2. Unieke buitenlandse sleutel — in één tabel wordt een buitenlandse sleutel naar een andere tabel gemaakt met de beperking UNIQUE, om te garanderen dat elke record niet meer dan één gerelateerd record heeft.

Voorbeeld met gemeenschappelijke primaire sleutel:

CREATE TABLE Persoon (
    PersoonID INT PRIMARY KEY,
    Naam VARCHAR(100)
);

CREATE TABLE Paspoort (
    PersoonID INT PRIMARY KEY,
    PaspoortNummer VARCHAR(50),
    FOREIGN KEY (PersoonID) REFERENCES Persoon(PersoonID)
);

Hier kan er voor elk record in Persoon hooguit één record in Paspoort zijn, en omgekeerd.