Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/10/2013, 09:26
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: 17 años
Puntos: 2658
Respuesta: como unir dos tablas en mysql

Cita:
Necesito saber si puedo hacer que cuando yo cargue un alumno en las tablas de alumnosjovenes, y alumnos adultos, el ultimo id se agregue a la tabla de alumno general, si ejecutar ningun tipo de script en php.
En realidad lo puedes plantear de las dos formas: O mandas a hacer dos inserts, donde el primero va a una u otra tabla según sea el que debe, y lo haces por PHP, o bien creas un stored procedure y realizas toda la lógica allí, es decir, los tres inserts y su resolucion implementado en ese mismo SP.
Esta última forma es en realidad la mejor, porque haces que la aplicación sólo deba acceder a una sola llamada, mientras que la resolución de jovenes y adultos está encapsulada en la base.
De todos modos desde el punto de vista de un diseño de bases de datos, el planteo está mal, porque lo que existen son alumnos que pueden ser jóvenes o adultos, por ende, la condición de Alumno precede a su edad, y como consecuencia debe hacerse primero el alta como alumno, y en la de jóvenes y/o adultos sólo poner la FK más datos diferenciales.
Ahora bien, un detalle más: Si las tablas que propones AlumnosJovenes y AlumnosAdutos, tienen los mismos atributos, entonces todo el esquema es incorrecto, al menos desde la perspectiva de bases de datos, por cuanto su condición de Joven o Adulto es un atributo calculable (la diferencia entre su fecha de nacimiento y la actual), y por tanto deberías resolverlo en la aplicación, o al momento de realizar las consultas.
Sólo tiene sentido diferenciar tablas de Jovenes o Adultos, si hubiese atributos que uno tenga y el otro no, y de cualquier forma deberían ser atributos obligatorios (incluso esto podrían no requerir diferenciarlos entre tablas). Y sólo los atributos diferenciados irían en esas tablas. No el nombre, apellido u otros datos comunes.

Ten muy en cuenta que no se debe analizar el esquema de bases de datos como una representación del sistema de clases de una aplicación. La base de datos alimenta de datos a la aplicación, pero no es un reflejo fiel de las clases en ella.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)