cchristian
923Messages postés
21 janvier 2008Date d'inscription
6 mars 2012Dernière intervention
16 juil. 2008 à 16:17
Bonjour,
Clé primaisre :
Pour rester cohérent, toutes situations et tous SGBD ou méthodes d'accès confondus , j'ai tendance à penser qu'il est préférable :
1) de sauvegarder les données de l'enregistrement (la ligne, le tuple, .......) à annuler,
2) de procéder à l'annulation physique de cet enregistrement (ligne, tuple, .........) sur la valeur de clé primaire existante.
3) puis de créer le "nouvel" enregistrement (ligne, tuple, ......) avec les données sauvegardées et la nouvelle valeur de clé primaire.
Mais il est possible ave certains SGBD(R) (notamment avec l'instruction UPDATE en SQL/DB2) de procéder directement à la modification d'une clé primaire (sauf si une contrainte d'intégrité référencielle a été définie) .
Foreign key (SGBDR) :
Si une contrainte d'intégrité référencielle (option ON DELETE CASCADE de l'instruction CONSTRAINT en SQL/DB2) est définie sur une colonne (correspondante à la clé primaire à annuler de la table parente) de une ou plusieurs autres tables les lignes (tuples) seront autoatiquement détruites à la phase 2) ci-dessus. Dans le cas contraire (pas de contrainte type DELETE) il faut explicitement les détruire.