Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Agregando datos a 2 tablas: 1 - *

Estas en el tema de Agregando datos a 2 tablas: 1 - * en el foro de Mysql en Foros del Web. -- Hola. Puedo decir que hasta ahora es mi primer encuentro serio con bases de datos, me doy cuenta que tengo varios vacios de conocimiento ...
  #1 (permalink)  
Antiguo 25/07/2011, 15:54
Avatar de GendeDios  
Fecha de Ingreso: mayo-2007
Ubicación: Paraiso de America
Mensajes: 135
Antigüedad: 16 años, 11 meses
Puntos: 10
Agregando datos a 2 tablas: 1 - *

--
Hola.

Puedo decir que hasta ahora es mi primer encuentro serio con bases de datos, me doy cuenta que tengo varios vacios de conocimiento que deseo cubrir.

La siguiente es una duda que siento como un palpitar que me dice que las cosas pueden hacerse mejor de lo que ahora lo estoy haciendo, y es que a la hora de agregar datos a 2 tablas con una relación 1 a varios entre ellas lo estoy haciendo con 2 insert, uno para cada tabla. De la siguiente manera usando php:

Clientes
cedula
nombre
direccion

Telefonos
cedula
telefono

Código PHP:
Ver original
  1. $query = "insert into clientes values ('".$cedula."', '".$nombre."', '".$direccion."')";
  2.          
  3. $result = mysql_query($query);
  4.          
  5. if($result && $telefono)
  6. {
  7.     for($i=0; $i<$quantitytels; $i++)
  8.     {
  9.     $query2 = "insert into telefonos values ('".$cedula."', '".$telefono[$i]."')";
  10.     }
  11. }

Mi pregunta puntual es: A la hora de agregar registros a la base de datos a 2 tablas con una relación 1-* Obligatoriamente debo ejecutar 2 insert uno para cada tabla o existe una forma de hacerlo con un solo insert o algo similar?.

Mi duda surge por el hecho de la relación, hay algo que me dice que por este hecho las tablas varios(*) de una relacion 1-* se llena de alguna forma automatica.

Mi presentimiento tiene justificación o es solo un deseo que quiciera ver cumplido?

Muchas gracias.
--

Última edición por GendeDios; 25/07/2011 a las 16:08
  #2 (permalink)  
Antiguo 25/07/2011, 18:03
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Agregando datos a 2 tablas: 1 - *

2 Tablas = 2 Insert.
La cadinalidad de la relación sólo especifica la restricción de interidad referencial que debe cumplirse. No que haya inserts "automáticos".
Eventualmente pueden hacerse triggers de auditoría en algunas tablas, por cuestiones propias del sistema que se implementa, pero no implica que puedas enviar a una tabla dada campos que no le pertenecen específicamente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 25/07/2011, 19:48
Avatar de GendeDios  
Fecha de Ingreso: mayo-2007
Ubicación: Paraiso de America
Mensajes: 135
Antigüedad: 16 años, 11 meses
Puntos: 10
Respuesta: Agregando datos a 2 tablas: 1 - *

--
Un insert para cada tabla ...Ok.

Cita:
La cadinalidad de la relación sólo especifica la restricción de interidad referencial que debe cumplirse.
Muchas gracias, ya voy entendiendo mejor como se maneja el concepto.

Saludos.
--

Etiquetas: 1-*, insert
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:54.