Sobes.tech
Junior

Czym są klucze w bazie danych?

sobes.tech AI

Odpowiedź od AI

Klucz w bazie danych to jedno lub więcej pól (kolumn) tabeli, które służą do jednoznacznej identyfikacji rekordów (wierszy) lub ustanawiania relacji między tabelami.

Typy kluczy:

  • Klucz główny (Primary Key; PK):
    • Unikalnie identyfikuje każdy rekord w tabeli.
    • Nie może zawierać wartości NULL.
    • W tabeli może być tylko jeden klucz główny.
  • Klucz obcy (Foreign Key; FK):
    • Ustanawia relację między dwiema tabelami, odwołując się do klucza głównego lub unikalnego klucza innej tabeli.
    • Zapewnia integralność referencyjną, gwarantując istnienie odwoływanego rekordu.
  • Klucz unikalny (Unique Key; UK):
    • Gwarantuje unikalność wartości w wskazanych polach, ale może zawierać NULL (zwykle nie więcej niż jeden NULL).
    • W tabeli może być wiele kluczy unikalnych.
  • Klucz kandydata (Candidate Key):
    • Dowolny minimalny zestaw pól, który może unikalnie identyfikować rekord.
    • Spośród kluczy kandydatów wybiera się jeden jako klucz główny.
  • Superklucz (Super Key):
    • Zestaw pól, który może unikalnie identyfikować rekord. Klucz kandydat jest minimalnym superkluczem.

Przykład użycia klucza obcego:

CREATE TABLE Orders (
    order_id INT PRIMARY KEY, -- Klucz główny dla tabeli Orders
    customer_id INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id) -- Klucz obcy odwołujący się do tabeli Customers
);

CREATE TABLE Customers (
    customer_id INT PRIMARY KEY, -- Klucz główny dla tabeli Customers
    customer_name VARCHAR(255)
);