Dois-je spécifier ON DELETE NO ACTION sur ma clé étrangère?

J'ai le DDL suivant que je suis à l'aide de SQL Server 2012:

CREATE TABLE Subject (
   [SubjectId] INT IDENTITY (1, 1) NOT NULL,
   [Name] NVARCHAR (50) Not NULL,
   CONSTRAINT [PK_Subject] PRIMARY KEY CLUSTERED ([SubjectId] ASC)
)           

CREATE TABLE Topic (
   [TopicId] INT IDENTITY (1, 1) NOT NULL,
   [Name] NVARCHAR (50) NOT NULL,
   [SubjectId] INT NOT NULL,
   CONSTRAINT [PK_Topic] PRIMARY KEY CLUSTERED ([TopicId] ASC)
)
ALTER TABLE [Topic] WITH CHECK ADD  CONSTRAINT [FK_TopicSubject] 
   FOREIGN KEY([SubjectId]) REFERENCES [Subject] ([SubjectId]) 
   ON DELETE NO ACTION

Ce que je veux, c'est pour le Serveur SQL server pour arrêter de me les la suppression d'un parent si une référence pour le parent existe chez l'enfant? Par exemple je veux un supprimer sur subjectID=3 dans le Sujet à l'échec si il y a des enfants avec SubjectId est de 3.

Pour cela, je ne sais pas et n'arrive pas à trouver la réponse. Ai-je besoin d'ajouter "DELETE NO ACTION" ou puis-je pas supprimer ces trois mots.

Je vous pose cette question comme une question similaire, j'ai eu une réponse que je dois définir un déclencheur sur le parent. Cependant, je pensais juste à la définition de la clé étrangère serait de m'en empêcher la suppression de la mère si l'enfant existe.

source d'informationauteur Melina