Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/11/2011, 17:59
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Separar una tabla en dos mas pequeñas

Cita:
Iniciado por Myl Ver Mensaje
Hola!

Si por ejemplo tengo una tabla, que por ejemplo contiene la informacion de importaciones. Por lo tanto cada linea contiene una "cabecera" por asi decirlo, con campos como "CODIGO DE ACEPTACIOn" y la "FECHA ACEPTACION", ademas de la informacion de cada item (Recordar que todo esto va contenido en una linea de la tabla grande)

Lo que necesito es separar esta tabla grande en dos mas pequeñas; es decir en una tabla que contenga la informacion de la "cabecera" y en otra donde guarde "la informacion de los items".

En teoria separar estas cosas es facil, con un trigger podria hacerlo facilmente, pero el problema es que por ejemplo en la tabla con la informacion de cabecera, no deberia repetirse ningun "CODIGO DE ACEPTACIOn" y "FECHA ACEPTACION".

He buscado y puedo usar un DISTINCT o agrupar por GROUP BY, pero luego a la segunda tabla debo asicuale la ID de la primera para luego hacer JOINS.

La tabla es bastante grande, y de igual forma puedo hacer algun codigo que me haga tal cosa, pero seria bastante tedioso.

Mi duda es ¿Hay alguna forma facil de hacer tal cosa?.
Quizas hacer algun procedimiento almacenado o algo, necesito algun consejo por favor

Lo que estás planteando es lo que se denomina "normalización de bases de datos", y es un paso previo a cualquier implementación. No es una etapa que se haga por consultas o por TRIGGERS, sino que se hace en la etapa de diseño del modelo de datos.
Si quieres hacerlo bien, tendrás que leer el tema de Normalización de Base de Datos y Formas Normales.
Puedes encontrar una explicación básica en Wikipedia.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)