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)
);