Sobes.tech
Middle

Jak na fyzické úrovni implementovat vztah jeden k jednomu mezi dvěma tabulkami?

sobes.tech AI

Odpověď od AI

Fyzická úroveň vztahu jeden ku jednomu medzi dvoma tabuľkami je implementována několika způsoby:

  1. Společný primární klíč — obě tabulky mají stejnou hodnotu primárního klíče, přičemž v jedné z nich tento klíč zároveň slouží jako cizí klíč na druhou tabulku.

  2. Unikátní cizí klíč — v jedné tabulce je vytvořen cizí klíč na jinou tabulku s omezením UNIQUE, aby bylo zajištěno, že každému záznamu odpovídá nejvýše jeden záznam v související tabulce.

Příklad s společným primárním klíčem:

CREATE TABLE Osoba (
    OsobaID INT PRIMARY KEY,
    Jméno VARCHAR(100)
);

CREATE TABLE Pas (
    OsobaID INT PRIMARY KEY,
    ČísloPasu VARCHAR(50),
    FOREIGN KEY (OsobaID) REFERENCES Osoba(OsobaID)
);

Zde může být pro každý záznam v Osoba nejvýše jeden záznam v Pas, a naopak.