65 lines
1.9 KiB
SQL
65 lines
1.9 KiB
SQL
-- ==============================================
|
|
-- Script de vérification d'intégrité des données
|
|
-- ==============================================
|
|
|
|
-- 1) Vérifier unicité des emails
|
|
SELECT email, COUNT(*) AS doublons
|
|
FROM utilisateurs
|
|
GROUP BY email
|
|
HAVING COUNT(*) > 1;
|
|
|
|
-- 2) Vérifier utilisateurs sans rôle
|
|
SELECT id, email
|
|
FROM utilisateurs
|
|
WHERE role IS NULL OR role = '';
|
|
|
|
-- 3) Vérifier cohérence enfants → parents
|
|
SELECT e.id AS enfant_id, e.nom, e.prenom
|
|
FROM enfants e
|
|
LEFT JOIN enfants_parents ep ON e.id = ep.enfant_id
|
|
WHERE ep.parent_id IS NULL;
|
|
|
|
-- 4) Vérifier cohérence enfants_parents → parents existants
|
|
SELECT ep.enfant_id, ep.parent_id
|
|
FROM enfants_parents ep
|
|
LEFT JOIN parents p ON ep.parent_id = p.id
|
|
WHERE p.id IS NULL;
|
|
|
|
-- 5) Vérifier cohérence dossiers → utilisateurs
|
|
SELECT d.id, d.parent_id
|
|
FROM dossiers d
|
|
LEFT JOIN parents p ON d.parent_id = p.id
|
|
WHERE p.id IS NULL;
|
|
|
|
-- 6) Vérifier cohérence contrats → utilisateurs et assistantes
|
|
SELECT c.id, c.parent_id, c.assistante_id
|
|
FROM contrats c
|
|
LEFT JOIN parents p ON c.parent_id = p.id
|
|
LEFT JOIN assistantes_maternelles am ON c.assistante_id = am.id
|
|
WHERE p.id IS NULL OR am.id IS NULL;
|
|
|
|
-- 7) Vérifier cohérence validations → utilisateurs
|
|
SELECT v.id, v.valide_par
|
|
FROM validations v
|
|
LEFT JOIN utilisateurs u ON v.valide_par = u.id
|
|
WHERE u.id IS NULL;
|
|
|
|
-- 8) Vérifier cohérence dates enfants
|
|
SELECT id, nom, prenom, date_naissance
|
|
FROM enfants
|
|
WHERE date_naissance > CURRENT_DATE;
|
|
|
|
-- 9) Vérifier cohérence date agrément assistantes
|
|
SELECT id, nom, prenom, date_agrement
|
|
FROM assistantes_maternelles
|
|
WHERE date_agrement > CURRENT_DATE;
|
|
|
|
-- 10) Vérifier NULL obligatoires (ex: NIR des assistantes)
|
|
SELECT id, nom, prenom
|
|
FROM assistantes_maternelles
|
|
WHERE nir IS NULL OR nir = '';
|
|
|
|
-- ==============================================
|
|
-- Fin du script
|
|
-- ==============================================
|