AXOPEN

Audit de données : vérifier l’absence de doublons (ONB identiques) dans chaque table P5

Description

Dans certains cas, lorsque l’on n’a pas positionné d’offset pour les bases de données Planisware par exemple, il peut arriver que l’on constate la présence d’objets ayant le même ONB dans une même table Planisware. Ceci est une grave corruption du modèle de données car Planisware ne sera pas en mesure de charger les 2 objets. Il en chargera un seul sur les 2 et la plupart du temps remontera une erreur indiquant que l’objet xxxx possèdant le même ONB que l’objet yyyy n’a pu être chargé.

Requêtes SQL

Il est possible de vérifier la présence de tels doublons par la méthode suivante.

Pour commencer il faut récupérer la liste des tables Planisware possédant une colonne « ONB ». (Cf. Requête SQL pour avoir toutes les tables de la BDD avec possédant un champ « ONB »).

Ensuite récupérer cette liste de tables dans Excel pour générer une requête globale du type :

(SELECT ONB, Count(*),'TABLE_PLW_1' FROM TABLE_PLW_1 
GROUP BY ONB HAVING Count(*) > 1) UNION
(SELECT ONB, Count(*),'TABLE_PLW_2' FROM TABLE_PLW_2 
GROUP BY ONB HAVING Count(*) > 1) UNION
...
(SELECT ONB, Count(*),'TABLE_PLW_N' FROM TABLE_PLW_N 
GROUP BY ONB HAVING Count(*) > 1) ;

Résultat obtenu :

Résultat de la requête permettant de remonter les doublons.

 

Ainsi ici on constate que l’on a des doublons dans les tables suivantes :

  • COMMON_DATASET
  • TASK

Dans les 2 tables il y a 2 objets qui possèdent le même ONB : le champ count(*) est égal à 2 pour chacune des tables.
Dans ce cas on a remonté les doublons présents dans une même table ce qui est le cas le plus critique pour Planisware.