Peut-être que c'est une sorte de question naïve ... mais je pense que nous devrions toujours avoir des suppressions et des mises à jour en cascade. Mais je voulais savoir y avoir des problèmes et quand devrions-nous ne pas le faire? Je ne peux vraiment pas penser à un cas en ce moment où vous ne voudriez pas faire de supprimer Cascade, mais je suis sûr qu'il y en a un ... Mais qu'en est-il des mises à jour devraient-elles être faites toujours? p>
Quelqu'un peut-il s'il vous plaît énumérer les avantages et les inconvénients des suppressions et des mises à jour en cascade? Merci. P>
3 Réponses :
Avantages: P>
contre: p>
Ou, sous forme standard, SLW O20
Votre point sur la performance n'a pas de sens. La cascade Les suppressions / mises à jour manuellement est plus lente que de laisser la base de données le gérer.
Cela dépend des entités contenues dans les tableaux: si le côté de la clé étrangère ne peut pas exister sans le côté de la clé primaire, il est logique d'avoir une suppression en cascade. P>
e. G.: Un élément de ligne de facture n'a pas le droit de survivre si la facture est supprimée. P>
Mais si vous avez une clé étrangère utilisée pour la relation "travaille pour" pour la relation entre un employé et son patron, voudriez-vous supprimer l'employé si le patron quitte la société? P>
En outre: un problème technique est que certains outils de cartographie relative à un objet (objet) sont confus si des entrées de table dépendantes changent sans qu'ils soient responsables de cela. P>
Je ne suis pas sûr de supprimer le patron exactement pour cette raison, je voudrais probablement inactiver la rangée
@Sqlmenace voudriez-vous garder tous les anciens employés à jamais dans une table d'employé? Mais j'espère que vous voyez le point: il y a des situations où l'enfant a une existence en soi, même si le parent est supprimé.
Je ne frappe pas de votre réponse, je dis simplement ce que je ferais ... Nous enregistrons tous les changements de toute façon et ils entrent dans une table d'historique..dépendants de la stratégie de la société que vous ne serez peut-être pas autorisés à supprimer les lignes non plus.
@SqLeaution Si vous n'êtes pas autorisé à supprimer des données, alors bien sûr, une suppression en cascade n'a pas de sens du tout, et le réglage CASCADE / RESTAIN / SET NULL est hors de propos.
Avantages: P>
contre p>