Middle
Jak na poziomie fizycznym zaimplementować relację jeden do jednego między dwoma tabelami?
sobes.tech AI
Odpowiedź od AI
Relacja jeden do jednego między dwoma tabelami na poziomie fizycznym jest realizowana na kilka sposobów:
-
Wspólny klucz główny — obie tabelki mają taką samą wartość klucza głównego, a w jednej z nich ten klucz jednocześnie pełni funkcję klucza obcego do drugiej tabeli.
-
Unikalny klucz obcy — w jednej tabeli tworzy się klucz obcy do innej tabeli z ograniczeniem UNIQUE, aby zagwarantować, że każdemu rekordowi odpowiada nie więcej niż jeden rekord w tabeli powiązanej.
Przykład z wspólnym kluczem głównym:
CREATE TABLE Osoba (
OsobaID INT PRIMARY KEY,
Imię VARCHAR(100)
);
CREATE TABLE Paszport (
OsobaID INT PRIMARY KEY,
NumerPaszportu VARCHAR(50),
FOREIGN KEY (OsobaID) REFERENCES Osoba(OsobaID)
);
Tutaj dla każdego rekordu w Osoba może być nie więcej niż jeden rekord w Paszport, i odwrotnie.