Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Contraintes de Clé Étrangère. Options ON DELETE | Base de Données Relationnelle
Base de Données Relationnelle et Normalisation
course content

Contenu du cours

Base de Données Relationnelle et Normalisation

Base de Données Relationnelle et Normalisation

1. Modèles de Base de Données
2. Base de Données Relationnelle
3. Normalisation et Formes Normales

book
Contraintes de Clé Étrangère. Options ON DELETE

ON DELETE

Dans les bases de données relationnelles, un foreign key établit une relation entre deux tables. Cette relation est stricte et est régie par certaines règles ou contraintes, connues sous le nom d'options ON DELETE.

L'option ON DELETE spécifie l'action effectuée lorsqu'un enregistrement, lié par un foreign key, est supprimé d'une autre table.

Pour illustrer, considérez un scénario impliquant un primary key et son foreign key associé. Lorsque vous supprimez un enregistrement contenant le primary key, l'action ON DELETE spécifiée pour le foreign key correspondant est déclenchée.

Remarque

Lors de la création d'un foreign key via l'interface d'un Database Management System (DBMS), il vous sera souvent demandé de sélectionner une option ON DELETE. Cependant, si vous définissez la relation directement via SQL, vous devrez spécifier cette option manuellement.

Un foreign key nécessite la définition d'une action ON DELETE.

Voici les principales actions ON DELETE :

  • CASCADE;
  • RESTRICT (or NO ACTION);
  • SET NULL;
  • SET DEFAULT.

CASCADE

Lorsque l'enregistrement principal est supprimé, tous les enregistrements liés (ceux faisant référence à celui-ci via une clé étrangère) sont également supprimés.

Par exemple, si vous avez des tables nommées Group et Student (où la table Student possède une clé étrangère pointant vers la table Group) :

Et si la relation de clé étrangère de student.group_id vers group.id est définie avec l'option ON DELETE CASCADE, alors la suppression d'un groupe entraînera la suppression de tous les étudiants associés à ce groupe.

RESTRICT or NO ACTION

Vous ne pouvez pas supprimer un enregistrement primaire s'il existe des enregistrements liés dans d'autres tables. Si vous essayez, l'action sera bloquée, garantissant l'intégrité de la base de données.

SET NULL

La suppression de l'enregistrement primaire modifiera la clé étrangère dans les enregistrements dépendants pour la mettre à NULL, au lieu de supprimer ces enregistrements.

Note

Pour utiliser l'action ON DELETE SET NULL, la colonne foreign key devrait permettre les null values.

SET DEFAULT

L'action SET DEFAULT est similaire à SET NULL. La suppression de l'enregistrement principal modifie la foreign key dans les enregistrements liés en la remplaçant par une valeur par défaut que vous avez spécifiée, plutôt qu'en la mettant à NULL.

1. Lorsque vous faites tomber une tasse et que vous avez l'impression que le monde s'effondre autour de vous, laquelle des options ON DELETE reflète ce sentiment ?

2. Les parents veillent toujours sur leurs enfants, mais si les rôles étaient inversés, quelle option ON DELETE représenterait des enfants protégeant leurs parents ?

3. Vous avez discrètement supprimé un enregistrement, sans laisser de trace. Quelle option ON DELETE avez-vous utilisée pour une opération aussi secrète ?

4. Si, chaque fois qu'un objet se casse, vous souhaitez qu'il se transforme magiquement en or, quelle option ON DELETE réaliserait ce rêve ?

Lorsque vous faites tomber une tasse et que vous avez l'impression que le monde s'effondre autour de vous, laquelle des options ON DELETE reflète ce sentiment ?

Lorsque vous faites tomber une tasse et que vous avez l'impression que le monde s'effondre autour de vous, laquelle des options ON DELETE reflète ce sentiment ?

Sélectionnez la réponse correcte

Les parents veillent toujours sur leurs enfants, mais si les rôles étaient inversés, quelle option ON DELETE représenterait des enfants protégeant leurs parents ?

Les parents veillent toujours sur leurs enfants, mais si les rôles étaient inversés, quelle option ON DELETE représenterait des enfants protégeant leurs parents ?

Sélectionnez la réponse correcte

Vous avez discrètement supprimé un enregistrement, sans laisser de trace. Quelle option ON DELETE avez-vous utilisée pour une opération aussi secrète ?

Vous avez discrètement supprimé un enregistrement, sans laisser de trace. Quelle option ON DELETE avez-vous utilisée pour une opération aussi secrète ?

Sélectionnez la réponse correcte

Si, chaque fois qu'un objet se casse, vous souhaitez qu'il se transforme magiquement en or, quelle option ON DELETE réaliserait ce rêve ?

Si, chaque fois qu'un objet se casse, vous souhaitez qu'il se transforme magiquement en or, quelle option ON DELETE réaliserait ce rêve ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 2
We're sorry to hear that something went wrong. What happened?
some-alt