MySQL - Migrar datos de una bd a otra sin ID's

 
Vista:
sin imagen de perfil

Migrar datos de una bd a otra sin ID's

Publicado por nodgard (1 intervención) el 07/04/2016 17:56:56
Hola amigos, tengo una consulta que estoy tratando de resolver desde hace 3 dias.

Tengo una BD donde se encuentran las siguientes tablas:

1- "Articulos" .
2- "Grupos".
3- "Subgrupos".

Necesito migrar esas tablas a otra BD, hasta alli vamos bien, el problema es que en la primera BD las tablas no estan relacionadas por ID's si no por un campo llamado "CODIGO" ejemplo: "CH0180". Y en la nueva BD necesito que esten relacionadas solo por los ID's.

Como puedo hacer la migracion si no tengo los ID's ?¿

Nota: En la primera BD no existen los ID's ya que nunca se diseño de esa manera.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Migrar datos de una bd a otra sin ID's

Publicado por xve (1151 intervenciones) el 08/04/2016 08:10:17
Hola Nodgard, no se muy bien como quieres hacer dicha migración, pero puedes exportar y importar la base de datos sin problema aunque no tanga esos id's, no?

Otra cosa que puedes hacer, es crear el campo id autonómico, y se te generaran sin problema.

No se muy bien donde tienes el problema... si nos puedes comentar con mas detalle.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Migrar datos de una bd a otra sin ID's

Publicado por DAVID (63 intervenciones) el 08/04/2016 09:25:48
Hola buenas,

podrías poner los campos que tienes en las tablas origen, y los campos de las tablas destino, y te decimos como lo puedes hacer.


Un saludo,
David
estudio de diseño grafico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 20
Ha disminuido su posición en 25 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Migrar datos de una bd a otra sin ID's

Publicado por Gonzalo (103 intervenciones) el 08/04/2016 15:29:19
El hecho de que no haya un campo "ID" es irrelevante, en tanto exista una PK, sobre lo que ya aclaraste: "un campo llamado "CODIGO" ejemplo: "CH0180"."
Ten en cuenta que el modelo E-R solo habla de claves primarias, y se definen a estas como un "campo o conjunto de campos que identifican univocamente una única instancia de una entidad". En ninguna parte de las definiciones del modelo E-R dice que ese identificador unívoco deba ser numérico o incremental.
De hecho, en el modelo se explicita que el identificador debería ser parte de los atributos (datos) propios de la entidad, por lo que no se deberían usar columnas llamadas "ID", sino valores propios, códigos o combinaciones de da,tos.
El uso de campos numéricos AI es un vicio de programadores, simplemente porque son fáciles de implementar, y no requieren ni razonamiento ni análisis. Pero no suelen ser muy recomendables. UUsalmente sólo se aconseja considerarlos si en la etapa de normalización de la base de datos, no se ha encontrado una clave candidata a PK al lelgar a la Tercera Forma Normal (3FN - ver https://es.wikipedia.org/wiki/Tercera_forma_normal).
En cualquier caso, si una base identifica sus registros con un código alfanumérico, y se pretende migrar los datos a otra que los identifica por un campo numérico autoincremental, la cosa no es difícil, pero es algo complejo de implementar. Ya lo he vivido.
La cosa es así:
1) Tienes que generar una copia de la base a migrar.
2) En cada tabla donde se use una PK no numérica en la base origen, se deberá crear una columna numérica para ponerle el ID destino en la segunda base.
3) Por cada registro de los datos primarios (tablas que no dependen de otras), como las que describes, se deberá validar si el dato ya existe en la base destino. En caso de existir se le asigna en la base transaccional ese mismo ID, y se propaga a todas las tablas con que se relacione. SI NO existe, entonces se crea un valor nuevo de ID, siguiendo al ultimo de la base destino y se realiza la misma tarea.
4) Una vez generados u obtenidos los IDs destino, y propagados a todas las tablas que se migrarán según se requiera, se debe migrar los datos, tabla por tabla, respetando las dependencias y restricciones de clave foránea de la base destino.

TE advierto, esto es un trabajo que te puede llevar semanas. Yo ya lo hice dos veces, y es una tortura.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar