From: | Javier Chávez B(dot) <jchavezb(at)gmail(dot)com> |
---|---|
To: | Carlos Mendez <lucas1850(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: consulta diferencia entre 2 tablas |
Date: | 2009-08-13 16:47:37 |
Message-ID: | ded64bba0908130947s73919ce0jab55dedd702db9d2@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2009/8/13 Carlos Mendez <lucas1850(at)gmail(dot)com>
> Hola, gracias por responder,
>
> lo que sucede es que tengo que hacer una migracion desde una bd interbase a
> postgresql, el anterior sistema usaba interbase que tiene informacion de mas
> o menos 10 años desde el 2008 hacia atras y el nuevo sistema solo tiene
> informacion de este año y ahora hay que migrar toda la informacion antigua a
> la bd pgsql, migre primero las tablas de interbase a txt y despues use copy
> y las pase a pgsql, ahora tengo las tablas de interbase en pgsql pero en
> tablas separadas, ahora el problema es tener una sola tabla pero tratando de
> no tener repetidos por eso preguntaba como puedo listar los alumnos que
> estan en una tabla pero no en la otra basandome en los nombres.
>
> la base de datos es parecida a la de un colegio tiene alumnos, notas,
> profesores, etc.
> El jefe quiere ver el historial(notas) de un alumno *en un solo sistema*,
> porque ahora si el alumno es de mas 1 año de antiguedad tiene que consultar
> 2 sistemas, por eso pidio que toda la informacion se migre del anterior
> sistema al nuevo, pero por supuesto los id son distintos, pero el jefe
> quiere solo ver el historial completo en una solo sistema.
>
> Ya les dije el problema de fondo, como afronto esta situacion?,
> Gracias por la ayuda,
> saludos.
>
>
> Ufff ta dificil lo tuyo :0) mira yo vengo saliendo de un proceso de
migracion que hice de MySql / SqlServer a PG y me encontre con la
desagradable sorpresa que una de las bases de datos no tenia claves ni
integridad referencial (controlada via aplicacion) .. o sea una locura ..
que hice :
- Simplemente hubieron datos que se perdieron , o sea cree una estructura
con datos "Anomalos" o sea : su procedencia (tabla ) y sus detalles .
- Despues para solucionar dramas como el que tu tienes simplemente lo que
hice fue crear una tabla con id nuevos identifique aquellos que estaban
correctos y los ingrese a esta nueva tabla, obviamente salvoaguardando
integridad, analizando el impacto dentro de las otras tablas donde estos
id's generaban transacciones etc. etc ...
- Use Kettle de Pentaho para todas mis operaciones....
En tu caso para los alumnos lo primero que haria:
Crear una tabla nueva "Alumnos"
- Ver donde esos alumnos generan transacciones.
- Partir por Identificar los alumnos unicos y generar id para ellos.
- Identificar los alumnos repetidos ( o sea si tienes 2 "javier chavez" ,
ver de acuerdo a tu analisis si es una o dos personas)
- Generarles un id a estos casos especiales en tu tabla y en sus
transacciones.
- Es un trabajo tedioso pero es la unica manera que veo que una migracion
quede relativamente decente , ahora si tus fuentes de datos tienen basura
dificilmente vas a conseguir armar historiales y cosas... GIGO : Garbage In
, Garbage Out :S ...
Gratos saludos.
JC
--
Cumprimentos
jchavez
linux User #397972 on http://counter.li.org/
Mike Ditka <http://www.brainyquote.com/quotes/authors/m/mike_ditka.html> -
"If God had wanted man to play soccer, he wouldn't have given us arms."
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2009-08-13 17:11:19 | Re: consulta diferencia entre 2 tablas |
Previous Message | Carlos Mendez | 2009-08-13 16:34:26 | Re: consulta diferencia entre 2 tablas |