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:
-
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ę.
-
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.