FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
como resuelvo una relacion N a N?
Como va, soy bastante nuevo en esto de mysql y la programacion y queria pedir una ayuda, resulta que tengo un ejercicio que hacer y no logro entender como podria solucionase.
Lo resumere lo mas posible, resulta que tengo 3 tablas de las cuales 1 es el detalle de las otras 2 osea esta en medio de una relacion "N a N"
Cual seria la forma correcta de tratar estas relaciones? de modo que la tabla_detalle se actualice sola, me imagino que al meter un nuevo registro de en las 2 primeras tablas de alguna forma se deveria guardar el id para que luego se actualice la tercera tabla, creo le llaman trigger. Bueno espero que me ayuden |
#2
|
||||
|
||||
Bueno, lo normal es que crees tú el registro de la tercera tabla, ya que es el que define la relación entre las otras dos.
Podrías llegar a automatizar ese proceso, pero sólo en casos muy concretos. Piensa que a veces un registro de tabla1 no tiene porqué tener relación con ninguno de tabla2 o tener relación con varios de la segunda tabla y al revés también.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Hola newgeek.
En primer lugar quiero darte la Bienvenida al foro y una merecida felicitación, son muy pocos los usuarios que se informan como usar las etiquetas sql y explicar detalladamente su problema en su primer mensaje en el foro. Teniendo en cuenta lo dicho por Neftali, podrías crear un procedimiento almacenado que se encargue de la inserción:
puedes llamar a este SP de dos formas: - Con un query:
- Con un componente Store Procedure (lo tendrás en la paleta de delphi, será un TIBStoreProcedure, TMDOStoreProcedure, etc), en el inspector de objetos añades el nombre del procedimiento, y asignas los parámetros en tiempo de ejecución, (mira la ayuda, lo explicará mejor que yo ). Como habrás visto, en el cuerpo de Inserta_detalles, se envía un null a su clave primaria, para que no obtengas error, deberás tener un trigger before insert para la tabla 3:
GEN_tabla3_idd será un generador creado a tal efecto. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
||||
|
||||
No entiendo bien. ¿Cuál es la ventaja de hacerlo así, en lugar de ejecutar directamente una sentencia INSERT?
// Saludos |
#5
|
||||
|
||||
Tienes razón. Quizás le sirva como ejemplo de un SP
Inicialmente preguntaba como hacerlo "desde un trigger", así que puse el ejemplo del Store Procedure, para que viera como hacerlo desde el lado servidor. El ejemplo del query, sería para aplicarlo desde el lado cliente, aprovechando que tiene el SP creado. Quizás con un TxxStoreProcedure si obtenga ventaja en cuanto a líneas de código, ya que solo tiene que ejecutarlo (1 sola línea de código). Pero sabemos que en realidad no se ahorra mucho, el propio componente TxxStoreProcedure debe crearse en ejecución también . Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
||||
|
||||
Yo de esto no sé gran cosa, pero me llamó la atención un procedimiento almacenado, un disparador y un generador para una mera inserción. Pero la verdad es que, como dices, es un muy buen ejemplo para entender de esto.
// Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como resuelvo este error "Temporary table resource limit" | fredy_boots | Conexión con bases de datos | 3 | 29-10-2014 12:53:01 |
Como resuelvo este problema?? | danytorres | Varios | 7 | 26-04-2005 22:36:27 |
como resuelvo este error? | Ryu | Internet | 3 | 18-04-2005 19:10:39 |
¿Cómo puedo hacer el Modelo Entidad-Relación (MER) de un Sistema de Inventario? | Grimmy80 | Conexión con bases de datos | 2 | 27-09-2003 06:37:12 |
¿Cómo puedo hacer el Modelo Entidad-Relación (MER) de un Sistema de Inventario? | Grimmy80 | Conexión con bases de datos | 2 | 24-09-2003 22:06:58 |
|