Sobes.tech
Middle

Kaip įgyvendinti fiziniu lygiu vienas su vienu ryšį tarp dviejų lentelių?

sobes.tech AI

Atsakymas iš AI

Fiziniame lygyje vienas-ryšys tarp dviejų lentelių įgyvendinamas keliais būdais:

  1. Bendra pirminė raktas — abi lentelės turi tą pačią pirminio rakto reikšmę, ir vienoje iš jų ši reikšmė taip pat veikia kaip išorinis raktas į kitą lentelę.

  2. Unikalus išorinis raktas — vienoje lentelėje sukuriamas išorinis raktas į kitą lentelę su apribojimu UNİQUE, siekiant užtikrinti, kad kiekvienam įrašui būtų priskirtas ne daugiau kaip vienas įrašas susijusioje lentelėje.

Pavyzdys su bendra pirminiu raktu:

CREATE TABLE Asmuo (
    AsmuoID INT PRIMARY KEY,
    Vardas VARCHAR(100)
);

CREATE TABLE Pasas (
    AsmuoID INT PRIMARY KEY,
    PasportoNumeris VARCHAR(50),
    FOREIGN KEY (AsmuoID) REFERENCES Asmuo(AsmuoID)
);

Čia kiekvienam Asmuo įrašui gali būti ne daugiau kaip vienas Pasas įrašas, ir atvirkščiai.