Comparer des données de CSV et de base de données
Vous pouvez comparer des données depuis des fichiers CSV ou des bases de données côte à côte. Vous pouvez également effectuer des comparaisons mixtes ; par exemple, vous pouvez comparer des données depuis un fichier CSV avec des données provenant d’une table de base de données. Lorsque vous comparez deux bases de données, les objets à comparer peuvent appartenir soit à même base de données, soit se trouver dans deux bases de données différentes.
La comparaison de base de données ou de CSV est semblable à la comparaison de fichiers ; c’est à dire qu’elle contient un composant "gauche" et un composant "droite". Un "composant" est juste une représentation de la structure de la base de données à partir de laquelle vous pouvez choisir très simplement les tables ou les colonnes que vous souhaitez comparer.
Comparaison de données de base de données
Dans le cas des fichiers CSV, le composant inclut uniquement une table qui représente le contenu de fichier CSV. Chaque colonne correspond à un fichier CSV. Les noms de colonne correspondent aux champs d’en-tête si le CSV de source dispose d’une ligne d’en-tête, et si vous sélectionnez l’option Première ligne est la ligne d’en-tête lorsque vous vous connectez à la source de données de CSV. Si le CSV n’a pas de ligne d’en-tête, les colonnes sont nommées automatiquement, par exemple, "c1", "c2", etc.
Une fois avoir comparé des données, vous pouvez également, en option, fusionner les différences soit de la droite vers la gauche ou inversement. Il est possible de fusionner toutes les différences en une fois, ou vous pouvez afficher les différences pour chaque table dans une grille de données, puis les consulter et fusionner chaque différence individuellement au niveau des lignes. Pour plus d’informations, voir Afficher les différences entre les tables et Fusionner des différences de CSV et les base de données.
Si vous effectuez fréquemment les même comparaison de données, vous pouvez l’enregistrer dans un fichier de comparaison de données de base de données (.dbdif), voir Enregistrer des fichiers de comparaison.
Prérequis
•Une connexion active vers une source de données doit exister dans votre projet pour chaque table de base de données ou fichier qui doit être comparé côte à côte. Ces données remplissent les composants "gauche" et "droite", respectivement. Pour plus d’informations, voir So connecter à une source de données. Pour des fichiers CSV, voir Ajouter des fichiers CSV en tant que source de données.
•Si vous comparer des tables, chaque table doit avec une colonne clé primaire. DiffDog exige la colonne clé primaire primaire pour trier les lignes de table avant d’effectuer la comparaison.
Limitations
•Lorsque vous comparez des fichiers CSV, la première colonne de chaque ligne est toujours considérée comme étant la colonne de clé primaire.
•Si la colonne de clé primaire est non-numérique, et si un changement se produit dans la colonne clé, toute la ligne est traitée en tant que nouvelle ligne. Cela s’applique aussi bien aux fichiers CSV et sur les comparaison de base de données. Considérez l’exemple suivant :
Le résultat de comparaison illustré ci-dessus a été obtenu en comparant deux fichiers CSV. Comme mentionné, la première colonne dans les fichiers CSV est toujours la clé primaire. C’est pourquoi, bien que la valeur "Bob" a été renommée à "Bobby", cette modification est rapportée en tant que nouvelle ligne (plutôt qu’une différence dans cette colonne particulière). D’un autre côté, la différence entre "Birdsong" à "Beardsong" est affichée en tant qu’une différence dans la même ligne, parce que cette colonne n’est pas une clé primaire.
Icônes de colonne de base de données
Les tables de bases de données sont représentées par l’icône . Les colonnes de bases de données sont représentées par l’icône . S’il existe un ensemble de contrainte pour la colonne, l’icône de colonne aura un symbole supplémentaire. Si une colonne a plus d’une contrainte assignée, seule la contrainte avec la priorité la plus élevée est décrite dans l’icône de colonne. La priorité des contraintes est décrite dans la table ci-dessous, en commençant par la priorité la plus élevée.
Cette colonne est utilisée comme clé primaire de la table. | |
Cette colonne a une contrainte unique. | |
Cette colonne a une de clé étrangère assignée qui référence la clé primaire d’une table différente. | |
La colonne contient des données XML. | |
Il existe une valeur par défaut définie pour cette colonne. Si aucune valeur n’est fournie dans cette colonne, la valeur par défaut sera insérée à la place. |