Re: consulta diferencia entre 2 tablas

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."

In response to

Browse pgsql-es-ayuda by date

  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