Sobes.tech
Junior

Šta su primarni i strani ključevi, i koja su njihova ograničenja?

sobes.tech АИ

Одговор од АИ

Primarni ključ (Primary Key) je kolona ili kombinacija kolona u entitetu (tabela baze podataka) koja jedinstveno identifikuje svaki zapis u toj entitetu.

  • Ograničenja:
    • Jedinstvenost: Vrednosti primarnog ključa moraju biti jedinstvene unutar tabele.
    • Nemogućnost NULL: Primarni ključ ne sme sadržavati NULL vrednost.

Strani ključ (Foreign Key) je kolona ili skup kolona u jednoj entitetu (potkontejner) koja se odnosi na primarni ključ u drugoj entitetu (matična tabela). Uspostavlja vezu između dve tabele.

  • Ograničenja:
    • Referentna integritet: Vrednosti stranog ključa moraju odgovarati postojećoj vrednosti primarnog ključa u matičnoj tabeli ili biti NULL (ako je to dozvoljeno).

Primer u SQL:

// Kreiranje tabele sa primarnim ključem
CREATE TABLE Users (
    UserID INT PRIMARY KEY, // UserID - primarni ključ
    UserName VARCHAR(255)
);

// Kreiranje tabele sa stranim ključem
CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    UserID INT,
    OrderDate DATE,
    FOREIGN KEY (UserID) REFERENCES Users(UserID) // UserID - strani ključ, referencira na Users.UserID
);