Sobes.tech
Junior

Czym jest klucz główny w bazach danych?

sobes.tech AI

Odpowiedź od AI

Klucz główny to kolumna lub zestaw kolumn w tabeli bazy danych, które jednoznacznie identyfikują każdy wiersz w tej tabeli.

Główne cechy:

  • Unikalność: Każda wartość klucza głównego musi być unikalna w obrębie tabeli.
  • Nie null (NOT NULL): Klucz główny nie może zawierać wartości NULL.
  • Stabilność: Zaleca się, aby wartości klucza głównego nie ulegały zmianom.

Cel:

  • Zapewnienie integralności danych (encji).
  • Ustanowienie relacji między tabelami (klucze obce odwołują się do kluczy głównych).
  • Optymalizacja zapytań (często używane do indeksowania).

Przykład tworzenia tabeli z kluczem głównym w SQL:

CREATE TABLE Customers (
    CustomerID int NOT NULL, // Kolumna dla klucza głównego
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    CONSTRAINT PK_Customer PRIMARY KEY (CustomerID) // Definicja klucza głównego
);

Klucz główny może być złożony, składający się z kilku kolumn:

CREATE TABLE OrderItems (
    OrderID int NOT NULL,
    ProductID int NOT NULL,
    Quantity int,
    CONSTRAINT PK_OrderItem PRIMARY KEY (OrderID, ProductID) // Złożony klucz główny
);

Często stosuje się automatyczne generowanie wartości dla klucza głównego (np. autoinkrementacja).

CREATE TABLE Products (
    ProductID int NOT NULL IDENTITY(1,1), // Automatycznie inkrementowany klucz główny
    ProductName varchar(255) NOT NULL,
    CONSTRAINT PK_Product PRIMARY KEY (ProductID)
);