W Microsoft SQL Server klucze główne (Primary Keys) i klucze obce (Foreign Keys) są kluczowymi elementami projektowania bazy danych i służą do ustalenia relacji między tabelami

Klucz Główny (Primary Key):

Przykład definicji klucza głównego:

CREATE TABLE Customers (
   CustomerID INT PRIMARY KEY,
   FirstName NVARCHAR(50),
   LastName NVARCHAR(50)
);

Klucz Obcy (Foreign Key):

Przykład definicji klucza obcego:

CREATE TABLE Orders (
   OrderID INT PRIMARY KEY,
   CustomerID INT,
   OrderDate DATE,
   FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

W powyższym przykładzie "CustomerID" w tabeli "Orders" jest kluczem obcym, który odnosi się do klucza głównego "CustomerID" w tabeli "Customers". Dzięki temu możemy śledzić, którzy klienci złożyli jakie zamówienia.

ON DELETE

Funkcja ON DELETE w kontekście klucza obcego (Foreign Key) jest często używana w bazach danych, aby określić, co ma się stać z danymi w tabeli podrzędnej (tabeli zawierającej klucz obcy), gdy rekord w tabeli nadrzędnej (tabeli, do której odnosi się klucz obcy) zostanie usunięty. Jest to ważne, ponieważ pozwala na zachowanie spójności danych między tabelami. Istnieją różne opcje ON DELETE, które można zastosować w zależności od potrzeb: