Foros del Web » Programando para Internet » PHP »

importar datos de una bd a otra bd con php

Estas en el tema de importar datos de una bd a otra bd con php en el foro de PHP en Foros del Web. tengo un caso en el q tengo que importar datos de otra db(remota), esta db tiene muchas anomalias y no esta muy bien normalizada, la ...
  #1 (permalink)  
Antiguo 23/02/2010, 22:15
 
Fecha de Ingreso: junio-2007
Mensajes: 75
Antigüedad: 16 años, 9 meses
Puntos: 1
importar datos de una bd a otra bd con php

tengo un caso en el q tengo que importar datos de otra db(remota), esta db tiene muchas anomalias y no esta muy bien normalizada, la bd donde se van a llevar esos datos tiene una estructura normalizada y para que los datos se almacenen coherentemente se tiene q tratar la data que se trae de la otra bd y aqui viene mi inquietud, tengo varias ideas para hacer esto pero quisiera que me den sus opiniones al respecto de cual seria la mas apropiada...

primero es llevar un conjunto de tablas a la db remota de donde se van a importar los datos y crear los procedures hay y hacer todo el tratamiento en ese servidor cosa que cuando recoja la data ya este tratada y simplemente desde php insertarlos en la db normalizada

segundo:
es simplemente hacer los select a la db remota y desde php hacer el tratamiento de la data, se haria consultas a las dos db, a una para cargar los datos necesarios para remplazar algunos valores de la data que se esta importando por ejemplo la data de clientes en la db remota el tipo y numero de documento vienen concatenados en una sola columna y lo que se haria es cargar los tipos de documento de la db normalizada y dividir el campo que contiene el tipo y numero de documento, en dos uno para el tipo de documento(seria el identificador de un tipo de documento de la db normalizada) y en otro campo solo el numero(es un ejemplo de los tantos como pais, ciudad, nacionalidad, etc..) una vez hecho todo el tratamiento y normalizacion de la data desde php se procederia a insertarlas en la db normalizada

tercero:
es llevar algunas tablas de la db remota a la db normalizada y hay hacer los precedures todo lo necesario para normalizar la data cosa que desde php solo hago select a la db remota y boy pasando cada registro a sus respectivos procedures y los mando al servidor de db para que el se encargue de normalizar la data, en este punto tengo dos ideas una es pasar registro por registro por un precedure, lo otro es armar una serie de insert desde php con la data q se esta importando luego insertarla en una tabla temporal y luego llamar a un procedure que barra con todos esos registros almacenados en la tabla temporal

esas son las ideas que tengo .... me inclino mas por la tercera...
el volumen de la data es grande y para no saturar mucho los recursos del servidor tanto al servidor web al recojer toda la data y al sevidor de db al procesar y registrar toda la data tengo la idea de hacer los select con un limit de 200 y procesarlos de 200 en 200 y no hacerlos todo en una sola barrida creo q demoraria mas hacerlo de esa manera ya q seria demasiada data para procesar...

tambien idee almacenar los identificadores de los registros que vienen de la db remota en un campo de sus respectivas tablas en la db normalizada para poder hacer procesamientos en la que intervengan tablas relacionadas...

espero haberme dejado entender y haber que ideas o sugerencias me dan ...

Última edición por cancha; 24/02/2010 a las 21:06
  #2 (permalink)  
Antiguo 23/02/2010, 22:26
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: importar datos de una bd a otra bd con php

tercera... pero creo que hay programas para trabar con este tipo de asuntos....
algunos son de pagos y otro no, yo no se cual recomendarte porque nunca tube ese problema

saludos

Etiquetas: bd
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:20.