Dlaczego tak
RESTRICT chroni integralność referencyjną: nie pozwala usunąć wiersza nadrzędnego, do którego odwołują się wiersze podrzędne, więc DELETE kończy się błędem naruszenia klucza obcego. Usunięcie klienta razem z zamówieniami to działanie opcji ON DELETE CASCADE, a ustawienie NULL — opcji ON DELETE SET NULL. Zamówienia ze wskazaniem na nieistniejącego klienta mogą powstać tylko bez klucza obcego.