Quelqu'un pourrait-il me dire ce que signifie exactement une cascade et une restriction? C'est dans les systèmes de base de données soumis à la partie DDL
et si je n'en écris aucun dans ma déclaration de suppression?
ON DELETE CASCADE et ON DELETE RESTRICT sont la propriété de clé étrangère et vous les définissez lorsque vous créez la relation entre deux tables.
Si vous définissez la relation sur ON DELETE CASCADE, lorsque vous exécutez une instruction DELETE sur une table parent, elle supprimera automatiquement toutes les lignes correspondantes de la table CHILD. Mais le RESTRICT (qui est le comportement de relation de clé étrangère par défaut) est lorsque vous essayez de supprimer une ligne de la table parent et qu'il y a une ligne dans la table enfant avec le même ID, il ne se plaindra pas des lignes enfant existantes.
Dans tous les cas, vous n'avez rien à mentionner dans votre clause DELETE.
J'ai également écrit un article de blog sur les différentes règles pour les commandes Supprimer et Mettre à jour plus en détail ici:
https://koukia.ca/sql-server-foreign-key-update-and-delete-rules-556cf09117fe
Il existe trois types de suppression associés à une clé étrangère
À droite, donc ON DELETE et ON UPDATE s'appliquent à la table/ligne parent. Si NO ACTION et RESTRICT sont la même chose, c'est parce que vous ne pouvez pas avoir de relation avec un enfant et un parent si le parent n'existe pas.