Sobes.tech
Middle

Ako implementovať na fyzickej úrovni vzťah jeden ku jednému medzi dvoma tabuľkami?

sobes.tech AI

Odpoveď od AI

Fyzická úroveň vzťahu jeden ku jednému medzi dvoma tabuľkami je implementovaná rôznymi spôsobmi:

  1. Spoločný primárny kľúč — obe tabuľky majú rovnakú hodnotu primárneho kľúča, pričom v jednej z nich tento kľúč zároveň slúži ako cudzí kľúč na druhú tabuľku.

  2. Unikátny cudzí kľúč — v jednej tabuľke sa vytvorí cudzí kľúč na inú tabuľku s obmedzením UNIQUE, aby sa zabezpečilo, že každému záznamu zodpovedá najviac jeden záznam v súvisiacej tabuľke.

Príklad s spoločným primárnym kľúčom:

CREATE TABLE Osoba (
    OsobaID INT PRIMARY KEY,
    Meno VARCHAR(100)
);

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

Tu pre každý záznam v Osoba môže byť najviac jeden záznam v Pas, a naopak.