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