Asignación de datos de bases de datos

Asignación y conversión de datos de BD y otros formatos

  • Consultas de BD en las principales bases de datos
  • Conversión de datos de BD de distintos tipos
  • Asignaciones entre datos de BD y otros formatos
  • Configuración de claves de BD
  • Registro de resultados y gestión de errores
  • Posibilidad de definir acciones de tabla de la BD
  • Consulta directa en la base de datos
  • Asignación de datos XML de tablas de BD
  • Ordenar componentes de BD de entrada
  • Conversión de SQL Server, Oracle, IBM, MySQL, Firebird, PostgreSQL y más

Herramientas de asignación de BD

MapForce es una herramienta de asignación e integración de datos que ofrece potentes funciones para realizar conversiones de BD. Puede hacer conversiones entre datos de BD y datos XML, JSON, CSV y otros archivos planos, EDI, Excel (OOXML), Protobuf, XBRL, servicios web e incluso otros formatos de BD.

Cuando cargue una estructura de BD en la ventana de diseño, MapForce interpreta automáticamente el esquema de la BD, le permite seleccionar tablas y vistas de la BD y reconoce las relaciones entre las tablas.

MapForce permite integrar fácilmente datos de BD en asignaciones de forma gráfica

Cuando termine de cargar todos los modelos de contenido necesarios para su asignación de datos de BD, conecte las estructuras de origen y destino mediante líneas de conexión.

Bases de datos compatibles:

  • Firebird 2.5, 3
  • IBM DB2 for iSeries® v6.1, 7.1, 7.2, 7.3
  • IBM DB2® 8, 9.1, 9.5, 9.7, 10.1, 10.5
  • Informix® 11.70, 12.10
  • MariaDB 10, 10.3
  • Microsoft Access™ 2003, 2007, 2010, 2013, 2019
  • Microsoft® Azure SQL
  • Microsoft® SQL Server® 2005, 2008, 2012, 2014, 2016, 2017, 2019
  • MySQL® 5, 5.1, 5.5, 5.6, 5.7, 8
  • Oracle® 9i, 10g, 11g, 12c, 18, 19
  • PostgreSQL 8, 9.0.10, 9.1.6, 9.2.1, 9.4, 9.6, 10, 11
  • Progress OpenEdge 11.6
  • SQLite 3.x
  • Sybase® ASE 15, 16
  • Teradata 16

MapForce es compatible con las principales bases de datos, para que pueda crear diseños gráficos de asignación de datos de BD entre datos de origen de BD, filtros y funciones de procesamiento de datos y otras estructuras de datos.

Filtrar y procesar datos de bases de datos

En muchas asignaciones de datos de BD es necesario manipular los datos en base a condiciones booleanas o instrucciones SQL y SQL/XML. Quizás necesite realizar comparaciones lógicas, cálculos matemáticos y operaciones de cadena, buscar datos de la BD con un valor determinado y realizar muchas otras modificaciones en los datos. En la imagen anterior, puede ver que las funciones de procesamiento de datos aparecen en forma de recuadros entre las líneas de conexión que unen los modelos de contenido de origen y destino.

Las funciones de procesamiento permiten realizar avanzadas asignaciones de datos de BD para satisfacer los diferentes requisitos del proyecto. Por ejemplo, puede construir asignaciones de datos de BD que utilicen datos XML o mensajes EDI para extraer filas de la BD utilizando criterios de filtro basados en los elementos XML o EDI.

Conversión instantánea de datos de base de datos

Una vez termine de definir la asignación, puede obtener una vista previa de los resultados con un solo clic y guardarlos en un archivo gracias al motor integrado de MapForce.

Las asignaciones de bases de datos y XML tienen documentos XML como resultado. Las asignaciones que tienen archivos planos como destino darán como resultado archivos de texto o CSV. EDI tendrá como resultado mensajes EDIFACT, X12 o HL7. Excel producirá OOXML y las taxonomías XML darán lugar a informes financieros XBRL.

Las asignaciones cuyo componente de destino es una BD dan lugar a scripts SQL (p. ej. instrucciones SELECT, INSERT, UPDATE y DELETE) que se ejecutan en la BD de destino directamente desde MapForce.

Registro de resultados de BD (rastreo)

El registro de resultados de BD facilita la tarea de hacer un seguimiento de todos los cambios que hace un proyecto de asignación en una BD al ejecutarse.

Al activar el seguimiento, acciones como las inserciones o actualizaciones de BD, o los errores, se guardan en un archivo XML que después puede seguir analizando o procesando de forma automatizada.

El seguimiento de BD se puede habilitar a distintos niveles: componente de BD, tabla de BD, procedimiento almacenado o campo de BD. Puede elegir entre hacer seguimiento de todos los mensajes o solamente de los errores, o puede desactivarlo por completo.

Una vez que haya seleccionado el nivel de seguimiento, el componente de DB del proyecto de asignación afectado se amplía y muestra el registro en una estructura XML. Si quiere que el archivo de seguimiento esté en un formato distinto al XML puede asignar datos desde el archivo hasta otro formato compatible con MapForce (por ejemplo, un archivos de texto u otra BD).

Al hacer clic en el botón Resultados para acceder a la vista previa del resultado de la asignación puede ver un ejemplo aproximado del aspecto que tendrá el archivo de seguimiento una vez se haya ejecutado la asignación.

Seguimiento de BD para registrar el resultado de conversiones de BD

Gestión de errores en transacciones de BD

MapForce también permite revertir la parte afectada de la conversión de BD, si se genera un mensaje de error, y seguir ejecutando el resto de la asignación.

A veces se genera un error que no impide que se siga ejecutando la asignación de BD, como cuando una restricción de la BD no permite que se inserten o actualicen datos que no son válidos.

Al habilitar las transacciones de BD se incluyen todos los cambios realizados por el componente de BD en una transacción que se puede revertir en caso de error; también puede elegir entre seguir ejecutando la asignación o detenerla. Puede habilitar las transacciones a nivel de componente de BD y a nivel de acción de tabla.

Habilitar transacciones de BD para la gestión de errores

Esta opción es útil si quiere capturar los datos entrantes válidos e ignorar los no válidos.

Asignación avanzada de datos de base de datos

Para complementar sus funciones de asignación e integración de datos de BD, MapForce incluye una función de consulta de base de datos. Al conectarse a una base de datos desde la pestaña "Consulta de la BD", MapForce muestra las tablas de la BD en forma de árbol en el panel del explorador.

  • Firebird
  • IBM DB2 for iSeries
  • IBM DB2®
  • Informix®
  • MariaDB
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase®
  • Teradata
Consulte la BD mientras define una asignación de conversión de BD

Después puede usar la pestaña del editor SQL para visualizar, editar y ejecutar instrucciones SQL o SQL/XML, ya sea abriendo archivos SQL ya existentes o creando instrucciones SQL desde cero gracias a la función de arrastrar y colocar y de finalización automática.

Puede ejecutar el script SQL y ver los resultados en formato tabular y guardar tanto los datos recuperados como el script SQL por separado en archivos diferentes.

Configuración de claves de base de datos

En MapForce puede configurar de qué forma se añaden valores de clave principal y foránea en la base de datos que es el destino de la asignación de datos. Puede ofrecer valores para las claves desde MapForce o dejar que el sistema de la base de datos genere valores automáticamente.

En casos en los que las relaciones de clave principal o de clave foránea no están definidas explícitamente en las tablas de la BD, MapForce permite definir estas relaciones de modo inline, es decir, sin que surta efecto en los datos de origen.

Definir acciones de tabla de la base de datos

Cuando asigne datos a una base de datos, MapForce le permite seleccionar acciones de tabla de la base de datos para controlar cómo se escriben los datos en la base de datos. Esto ofrece una total flexibilidad a la hora de automatizar las tareas de gestión de datos más avanzadas.

En el sencillo cuadro de diálogo "Acciones de tabla de la base de datos" podrá definir las columnas de la tabla seleccionada para determinar qué acción se debe ejecutar en la base de datos (INSERT, UPDATE, DELETE).

Esto le ofrece una flexibilidad incomparable a la hora de manipular filas de bases de datos como respuesta a datos XML, EDI, XBRL, archivos planos, Excel, JSON, JSON5, servicios web y otros datos de base de datos con MapForce.

Procedimientos almacenados SQL

En MapForce puede usar procedimientos almacenados como componentes de entrada (si ofrecen resultados) o de salida (si insertan o actualizan datos). Incluso puede insertarlos como llamadas de tipo función. Así podrá introducir datos de entrada, ejecutar el procedimiento y leer/asignar los datos de salida a otros componentes.

La captura de pantalla muestra una asignación de un procedimiento almacenado en SQL Server para crear un archivo XML. El procedimiento devuelve como parámetro de entrada una tabla con todos los gerentes de la cadena de mando que están por encima del ID de empleado (la constante 67).

El parámetro se puede suministrar como valor calculado o como elemento de datos recuperado de otra parte de la BD.

MapForce ofrece un menú contextual con una opción para ejecutar el procedimiento y mostrar la estructura de datos. Al ejecutarse la asignación de la imagen se genera el documento XML de salida.

Advanced data mapping tools include stored procedure support

Cree asignaciones entre datos de BD y datos XML

MapForce también permite conectar y asignar datos XML almacenados en campos de BD relacionales (característica compatible únicamente con SQL Server & IBM DB2). Para ello basta con asociar un esquema XML, ya sea un esquema registrado en la base de datos o un esquema ubicado en su sistema de archivos, y MapForce representa el esquema en forma de árbol en el campo de la base de datos.

Ordenar componentes de BD de entrada

Las consultas SQL que operan dentro de las bases de datos no son siempre suficientes a la hora de realizar tareas complejas de asignación de datos. MapForce ofrece más funciones de ordenación mediante el componente WHERE/ORDER de SQL.

Compatibilidad con valores NULL en acciones de tabla de base de datos

El cuadro de diálogo "Acciones de tabla de base de datos" permite comparar valores NULL. Este tipo de comparación permite trabajar más fácilmente con bases de datos que contienen valores nulos. Las asignaciones de datos de MapForce se pueden configurar de modo que la comparación de datos tenga en cuenta los valores NULL y en función de las reglas correspondientes al tipo de base de datos usado en la asignación.

La asignación de datos que puede verse a la derecha sirve para actualizar la tabla de destino sin introducir entradas duplicadas. Ambas tablas están definidas para permitir que el campo email sea NULL. Es decir, en cada tabla podrá haber entradas name equivalentes con campos email de valor NULL.

Al hacer clic en el icono Acciones situado junto a la tabla de la base de datos de destino, se abre el cuadro de diálogo "Acciones de tabla de base de datos". La casilla "NULL equal" situada junto al campo email hace que MapForce trate los valores NULL del origen y del destino como iguales, aunque las reglas de la base de datos no los considere iguales.

Null-aware database mapping in MapForce

Asignaciones entre datos de BD y XML

En MapForce puede crear asignaciones de datos entre bases de datos y documentos XML basados en modelos de contenido XML Schema o DTD. Para crear asignaciones entre una base de datos y documentos XML basta con insertar un esquema XML y una base de datos en MapForce y crear conexiones entre los nodos XML y los objetos de la BD.

Si el archivo XML no tiene asociado un esquema XML, MapForce genera un esquema XML de a partir de un documento XML de instancia.

Asignación de datos de BD y XML en MapForce

Compatibilidad con comodines XML

Los elementos <xs:any> y <xs:anyAttribute> de un esquema XML permiten colocar cualquier elemento o atributo nuevo en la posición correspondiente de un documento XML de instancia, aunque el elemento o atributo nuevo no estén definidos en el esquema XML. Esto se conoce como comodín XML y es un mecanismo popular que permite un grado de personalización en muchos esquemas XML compatibles con estándares sectoriales.

MapForce admite el uso de comodines <xs:any> y <xs:anyAttribute> en las asignaciones con resultados en formato XML o cualquier otro formato. En los componentes de entrada XML ahora hay un botón junto a <xs:any> y <xs:anyAttribute> que abre un cuadro de diálogo de selección de comodines.

El elemento <xs:any>, así como <xs:anyAttribute>, se suelen usar en el diseño de esquemas XML y los usuarios han solicitado que incorporemos esta característica en MapForce.

Asignaciones entre datos JSON y BD

MapForce ofrece opciones para definir y ejecutar asignaciones de datos de BD basadas en modelos JSON (notación de objetos JavaScript). En estas asignaciones de BD los componentes de origen y destino pueden ser archivos de instancia o esquemas JSON. MapForce lee y escribe archivos JSON siguiendo la especificación JSON Draft 04.

Los componentes JSON aparecen representados con la sintaxis de elemento correspondiente y con los tipos de datos claramente indicados (imagen siguiente).

Convierta datos de BD en JSON con MapForce

Además, puede aplicar las funciones de procesamiento de datos de la biblioteca de funciones de MapForce para transformar datos JSON.

Generación automática de esquemas JSON

Cuando se añade un archivo JSON/JSON5 a la asignación de datos de BD, MapForce detecta automáticamente si se trata de un esquema o de una instancia. Si se trata de un archivo de instancia JSON/JSON5, MapForce solicitará que aporte un esquema o generará uno automáticamente. MapForce utiliza el esquema JSON/JSON5 para generar la estructura del componente.

Automatice la asignación de datos de BD con MapForce Server

Altova MapForce Server incluye un motor de transformación de datos integrado desarrollado para MapForce y mejorado para entornos servidor. MapForce Server realiza transformaciones de datos XML, BD, EDI, XBRL, archivos planos, Excel, JSON y servicios web a partir de asignaciones de datos optimizadas y procesadas previamente y almacenadas en archivos de ejecución basados en asignaciones de datos diseñadas en MapForce. Las transformaciones de datos de MapForce Server alcanzan un nivel superior gracias a funciones de procesamiento en paralelo y subprocesos, operaciones SQL Merge masivas, compatibilidad con múltiples plataformas y mucho más.

Al estar procesadas de antemano, las asignaciones tienen mayor rendimiento y menor consumo de memoria. MapForce Server puede usarse bajo el control de FlowForce Server, con una configuración independiente que se ejecuta desde la línea de comandos o mediante programación con una API.

Tras diseñar y probar su asignación de MapForce, puede ejecutarla con MapForce Server para automatizar procesos de negocio que requieran transformaciones de datos periódicas.

Automate database mapping tasks via MapForce

MapForce procesa y optimiza asignaciones de datos, las almacena en archivos de ejecución para ejecutarlos en la línea de comandos de MapForce Server y las carga en trabajos de FlowForce Server.

Cuando se opera MapForce Server bajo la dirección de FlowForce Server, las asignaciones de datos se ejecutan como pasos de un trabajo de FlowForce Server, en función de los desencadenadores que se definieran en el trabajo. Por ejemplo, un documento XBRL nuevo llega a un directorio, lo cual desencadena un trabajo de FlowForce de múltiples pasos que primero valida el archivo con RaptorXML+XBRL Server y después lo ejecuta con MapForce Server para extraer ciertos datos e insertar los datos extraídos en una base de datos.

MapForce Server ofrece inserciones masivas para bases de datos

La operación de inserción masiva es compatible con algunas bases de datos y permite insertar grandes volúmenes de datos en una tabla de BD en una sola instrucción SQL (en lugar de usar instrucciones INSERT para cada fila). Con la operación de inserción masiva se reduce la carga de procesamiento y el rendimiento es mucho más rápido. Las pruebas realizadas con la operación de inserción masiva en MapForce Server demuestran un rendimiento 10 veces más rápido que cuando se usan instrucciones Insert.

Además puede ser de gran ventaja en entornos de múltiples usuarios. Por ejemplo, si un usuario envía una serie de comandos Insert a la base de datos puede que esta operación sea interrumpida por la solicitud Select de otro usuario en la misma tabla. En casos como este la operación Select daría resultados incompletos o datos no válidos.