|
Refaire l'outil de vérification d'intégrité référentiel. Permettre de compter et d'afficher le cas échéant les problèmes d'intégrité.
Voici un exemple de vérification du Séjour vers le patient, c'est à dire du champs CSejour.patient_id.
Pour trouver les références mortes (zombies) :
SELECT sejour_id, sejour.patient_id, patients.patient_id
FROM sejour
LEFT JOIN patients ON patients.patient_id = sejour.patient_id
WHERE sejour.patient_id IS NOT NULL
AND patients.patient_id IS NULL
Pour seulement les compter
SELECT COUNT( sejour_id )
FROM sejour
LEFT JOIN patients ON patients.patient_id = sejour.patient_id
WHERE sejour.patient_id IS NOT NULL
AND patients.patient_id IS NULL
Remarque 1 : Certaines références permettent volontairement de rompre l'intégrité référentielles, elles ont l'attribut unlink dans les spécifications.
Remarque 2 : Il est évident que les meta-références sont plus difficiles à analyser car il faut faire autant de requêtes que de tables référencées.
|