Combinar tablas

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Tutoriales > Base de datos "ZooDB" > Comparar datos de BD >

Combinar tablas

Ahora imagine que uno de los encargados recientemente contratados, Bruno Katz, tiene un título universitario en medicina veterinaria y se une al equipo de veterinarios de nuestro zoo. En este paso del tutorial aprenderá a transferir el registro de Bruno de la tabla tblZookeepers a la tabla tblVeterinarians con ayuda de la función de combinación de datos de DatabaseSpy.

 

 

Para transferir un registro de datos de una tabla a otra:

 

1.Haga clic en el botón Comparación de datos ic_data-comparison de la barra de herramientas Estándar para abrir una ventana de comparación de datos nueva.
2.En el cuadro de diálogo "Seleccionar objetos de la BD para la comparación", elija el origen de datos ConexiónBDZoo para el lado izquierdo y marque la casilla de las tablas tblVeterinarians y tblZookeepers. Haga clic en Aceptar.
3.Las dos tablas seleccionadas se añaden al componente izquierdo de la comparación y el componente derecho está vacío (todavía no tiene asignado el origen de datos).
4.Haga clic en la tabla dbo.tblZookeepers del componente izquierdo y arrástrela hasta el componente derecho. Observe que ahora los dos componentes tienen asignado el mismo origen de datos.
5.Ahora haga clic en el triángulo de la tabla dbo.tblVeterinarians del componente izquierdo y arrastre el puntero del ratón hasta el triángulo de la tabla dbo.tblZookeepers del componente derecho. Cuando el cursor cambie de forma, suelte el botón del ratón.

diff_mapping-manually

Observe que se crean asignaciones automáticas entre las tablas y entre todas sus columnas, excepto entre las columnas VetID y ZookID.

diff_vet-zook-mapped

6.Cree una asignación manual entre las columnas VetID y ZookID.
7.El siguiente paso consiste en iniciar la comparación. Haga clic en Iniciar la comparación ic_start-db-comparison en la barra de herramientas.
8.Seleccione el comando Comparación de datos | Mostrar resultados.
9.Ahora, en la barra de herramientas de la ventana de resultados, haga clic en Buscar ic_find-diff.
10.Aparece el cuadro de diálogo "Buscar". Escriba la cadena de búsqueda Katz y haga clic en Buscar siguiente.
11.Cierre el cuadro de diálogo "Buscar" y haga clic en el botón Combinar datos de derecha a izquierda ic_merge-selected-right2left de la barra de herramientas.

Aparece el cuadro de diálogo "Combinar datos de derecha a izquierda".

dlg_merge-r2l

12.Haga clic en el botón Mostrar script de combinación y edite la instrucción SQL hasta conseguir esto:

INSERT INTO [ZooDB].[dbo].[tblVeterinarians]([FirstName],[LastName],[Address],[City],[State],[Telephone],[DOB])VALUES('Bruno','Katz','87 Panther Place','Trenton','NJ','(515)555-7667','1969-09-13 00:00:00.000');

13.Haga clic en el botón Ejecutar ic_execute-sql (F5).
14.Ahora tenemos que actualizar el origen de datos. En la ventana Explorador seleccione la BD ZooDB del origen de datos ConexiónBDZoo y haga clic en el botón Actualizar ic_refresh-datasource.
15.Ahora vamos a comprobar que la combinación de datos surtió efecto. En la ventana de comparación de datos, haga clic con el botón derecho en la tabla tblVeterinarians y seleccione SQL y datos | Recuperar datos | Todas las filas en el menú contextual. Puede comprobar que Bruno Katz se añadió a la lista de veterinarios del zoo.

result_vets_katz

16.Ahora, en la ventana de comparación de datos, haga clic con el botón derecho en la tabla tblZookeepers y seleccione SQL y datos | Editar datos del menú contextual.
17.Haga clic en el aviso que aparece y seleccione Bruno Katz en la cuadrícula de resultados.
18.Haga clic en la Eliminar fila ic_delete-row y después en el botón ic_commit para guardar todos los cambios en la BD.

© 2019 Altova GmbH