Altova DiffDog 2024 Enterprise Edition

Comparar CSV y BD

Inicio Anterior Inicio Siguiente

Puede hacer comparaciones a dos bandas de datos de archivos CSV o bases de datos. También puede hacer comparaciones mixtas; por ejemplo, puede comparar los datos de un archivo CSV con los de una tabla de BD. En el caso de las comparaciones de datos de BD puede comparar objetos que estén en la misma BD o en dos distintas.

 

Las comparaciones de BD o CSV son parecidas a las de archivos; es decir, también incluyen un componente "izquierdo" y uno "derecho". Un "componente" es una representación de la estructura de BD donde puede seleccionar las tablas o columnas que quiera comparar.

dbdiff_compare_data_01

Comparación de datos de BD

En el caso de los archivos CSV el componente solo incluye una tabla que representa el contenido del archivo CSV. Cada columna corresponde a un campo del archivo CSV. Los nombres de las columnas corresponden a los campos de encabezado si el archivo CSV de origen tiene una fila de encabezado y si marca la opción La primera fila es el encabezado al conectarse al origen de datos CSV. Si el archivo CSV no tiene encabezado, se asignan automáticamente nombres estándar a las columnas, como "c1", "c2", etc.

 

Una vez haya compilado los datos, puede combinar las diferencias de izquierda a derecha o viceversa. Puede combinar todas las diferencias de una sola vez o ir viendo las diferencias por tabla en una cuadrícula y revisarlas y combinarlas una a una a nivel de fila. Para más información consulte Ver las diferencias entre tablas y Combinar diferencias en comparaciones entre CSV y BD.

 

Si tiene que hacer la misma comparación a menudo puede guardarla en un archivo de comparación de BD (.dbdif). Consulte Guardar archivos de comparación.

 

Requisitos

en el proyecto debe existir una conexión activa a un origen de datos por cada tabla de base de datos o archivo que quiera incluir en la comparación. Esta información rellena los componentes izquierdo y derecho. Para más información consulte Conectarse a un origen de datos. Para archivos CSV consulte Agregar archivos CSV como origen de datos.

si se trata de una comparación de tablas, cada tabla debe tener una columna de clave primaria. DiffDog necesita que la columna de clave primaria ordene las filas de la tabla antes de ejecutar la comparación.

 

Limitaciones

Al comparar archivos CSV, la primera columna de cada fila siempre se considera la columna de clave primaria.

Si la columna de clave primaria no es numérica y el cambio ocurre en la columna clave, la fila entera se trata como una fila nueva. Esto afecta tanto a los archivos CSV como a las comparaciones de BD. Observe este ejemplo:

dd_pk_limitation

El resultado de la comparación de esta imagen se obtuvo comparando dos archivos CSV. Como hemos mencionado anteriormente, en los archivos CSV la primera columna siempre es la clave primaria. Por esta razón, incluso aunque el valor "Bob" haya cambiado a "Bobby", en el informe este cambio aparece como una fila nueva (en lugar de como una diferencia en esa columna). Sin embargo, la diferencia entre "Birdsong" y "Beardsong" sí aparece como una diferencia en la misma fila porque esa columna no es de clave primaria.

 

Iconos de columnas de BD

Las tablas de BD se indican con el icono icDBTable. Las columnas de BD se indican con el icono icDBColumn. Si una columna tiene asignada una restricción, aparece un címbolo junto al icono de esa columna. Si una columna tiene asignada más de una restricción, el icono de la columna solo indicará la de mayor prioridad. La prioridad de las restricciones pueden variar; más abajo explicamos los distintos grados de prioridad

 

icDBPrimaryKeyColumn

Esta columna se usa como clave principal de la tabla.

icDBUniqueKeyColumn

Para esta columna solo se ha definido una única restricción.

icDBForeignKeyColumn

Esta columna contiene clave foránea y hace referencia a la clave principal de una tabla distinta.

icDBXMLColumn

Los datos que contiene esta columna son de tipo XML.

icDBDefaultValueColumn

Para esta columna existe un valor predeterminado. Si no se define ningún valor, se inserta el valor predeterminado en su lugar.

 

© 2017-2023 Altova GmbH