Sobes.tech
Junior

Čo sú primárne a vonkajšie kľúče a aké obmedzenia majú?

sobes.tech AI

Odpoveď od AI

Primárny kľúč (Primary Key) je stĺpec alebo kombinácia stĺpcov v entite (tabuľke databázy), ktorá jednoznačne identifikuje každý záznam v tejto entite.

  • Obmedzenia:
    • Unikátnosť: Hodnoty primárneho kľúča musia byť v rámci tabuľky jedinečné.
    • Nemožnosť NULL: Primárny kľúč nemôže obsahovať hodnotu NULL.

Cudzí kľúč (Foreign Key) je stĺpec alebo skupina stĺpcov v jednej entite (potomkovej tabuľke), ktorá odkazuje na primárny kľúč v inej entite (materskej tabuľke). Umožňuje vytvoriť vzťah medzi dvoma tabuľkami.

  • Obmedzenia:
    • Referenčná integrita: Hodnoty cudzieho kľúča musia zodpovedať existujúcej hodnote primárneho kľúča v materskej tabuľke alebo byť NULL (ak je to povolené).

Príklad v SQL:

// Vytvorenie tabuľky s primárnym kľúčom
CREATE TABLE Users (
    UserID INT PRIMARY KEY, // UserID - primárny kľúč
    UserName VARCHAR(255)
);

// Vytvorenie tabuľky s cudzím kľúčom
CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    UserID INT,
    OrderDate DATE,
    FOREIGN KEY (UserID) REFERENCES Users(UserID) // UserID - cudzí kľúč, odkazuje na Users.UserID
);