PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL :CLÉ ÉTRANGÈRE/SUPPRESSION EN CASCADE

Une clé étrangère avec une suppression en cascade signifie que si un enregistrement de la table parent est supprimé, les enregistrements correspondants de la table enfant seront automatiquement supprimés. C'est ce qu'on appelle une suppression en cascade.

Vous dites d'une manière opposée, ce n'est pas que lorsque vous supprimez de la table enfant, les enregistrements seront supprimés de la table parent.

UPDATE 1:

SUPPRIMER EN CASCADE L'option consiste à spécifier si vous souhaitez que les lignes soient supprimées dans une table enfant lorsque les lignes correspondantes sont supprimées dans la table parent. Si vous ne spécifiez pas de suppressions en cascade, le comportement par défaut du serveur de base de données vous empêche de supprimer des données dans une table si d'autres tables y font référence.

Si vous spécifiez cette option, lorsque vous supprimez ultérieurement une ligne dans la table parent, le serveur de base de données supprime également toutes les lignes associées à cette ligne (clés étrangères) dans une table enfant. Le principal avantage de la fonctionnalité de suppression en cascade est qu'elle vous permet de réduire la quantité d'instructions SQL dont vous avez besoin pour effectuer des actions de suppression.

Tout dépend donc de ce qui se passera lorsque vous supprimerez des lignes de la table parent et non de la table enfant.

Ainsi, dans votre cas, lorsque l'utilisateur supprime des entrées de la table CAT, les lignes sont supprimées de la table des livres. :)

J'espère que cela vous aidera :)