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

2 FOREIGN KEY en una tabla urge

Estas en el tema de 2 FOREIGN KEY en una tabla urge en el foro de Bases de Datos General en Foros del Web. tengo un problema entrego un proyecto de la escuela 4 de junio 04 y necesito tener 2 llaves foraneas en una tabla (estoy haciendo un ...
  #1 (permalink)  
Antiguo 31/05/2004, 09:54
Avatar de padrino  
Fecha de Ingreso: mayo-2004
Ubicación: Aguascalientes, Ags. la tierra de la gente buena
Mensajes: 161
Antigüedad: 20 años, 5 meses
Puntos: 0
2 FOREIGN KEY en una tabla urge

tengo un problema entrego un proyecto de la escuela 4 de junio 04 y necesito tener 2 llaves foraneas en una tabla (estoy haciendo un video virtual ): ejemplo

NOTA: LA B.D. ES MYSQL version 5.0 alpha (ya soporta llaves foraneas)

CLIENTES|----------------|
....................................|
....................................|----------- RENTAS
PROMOCIONES|-----------|

tablas las creo de la siguiente forma:

CREATE TABLE clientes(id INT PRIMARY KEY, etc, ... ,etc) TYPE=INNODB;

CREATE TABLE promociones(id INT PRIMARY KEY, etc, ... ,etc) TYPE=INNODB;

CREATE TABLE rentas(id INT PRIMARY KEY, clientes_id INT, promociones_id INT, INDEX (clientes_id), INDEX (promociones_id), FOREIGN KEY (clientes_id) REFERENCES clientes(id), FOREIGN KEY (promociones_id) REFERENCES promociones(id)) TYPE=INNODB;



pero cuando agrego un registro (tupla) en la tablas de rentas no me respeta las llaves foraneas, que onda que estoy haciendo mal, ya estuve leyendo la documentacion de mysql, y al parecer todo anda bien, o que me aconsejan. (darme un tiro con una escopeta para no herrar)

atte
jose manuel (hoy por mi mañana por ti)
  #2 (permalink)  
Antiguo 31/05/2004, 14:12
Avatar de padrino  
Fecha de Ingreso: mayo-2004
Ubicación: Aguascalientes, Ags. la tierra de la gente buena
Mensajes: 161
Antigüedad: 20 años, 5 meses
Puntos: 0
Imposible

No sean gacho apoco me tendree que dar un tiro con la escopeta, no les remuerde la conciencia que muera un semi-linuxero......

bueno chavos en su conciencia quedara, de perdido diganme que estoy frio con esas instrucciones, o que no tengo ni la mas remota idea de lo que estoy haciendo.


en fin, acabo de investigar otra cosa que me podria servir son la integridad referencial, el cual no se si la soporta mysql, basicamente quiero programar en el servidor de base de datos esto, para poder agregar una tupla en la tabla de rentas debe de existir el cliente que quiero agregar en la tabla clientes y si existe una promocion ya sea 2*1 o 50% descuento etc, debera de existir en la tabla promociones. espero no confundirlos con estas esplicaciones, si no queda claro la pregunta la restructuro pero agan algun comentario, si me ayudan creanme que yo tambien los podria auxilar despues.

atte
Jose Manuel (AGUASCALIENTES AGS. MEXICO)
  #3 (permalink)  
Antiguo 01/06/2004, 07:59
Avatar de padrino  
Fecha de Ingreso: mayo-2004
Ubicación: Aguascalientes, Ags. la tierra de la gente buena
Mensajes: 161
Antigüedad: 20 años, 5 meses
Puntos: 0
Solucion de 2 llaves foraneas en MYSQL

haber chavos la solucion llego , ya pude hacer las 2 llaves foraneas en MYSQL, como la ven jujjujujujuju , es de alegria pense que si me iva adar con la escopeta, bueno la solucion es esta

ejemplo

tablas padres
clientes
promociones
tabla hija
rentas

ok, espero que entiendan esta relaccion.


bueno la estructura de la tabla clientes debe ser esta:

CREATE TABLE clientes(id INT NOT NULL, nom CHAR(25), etc , INDEX (id), PRIMARY KEY (id))TYPE=INNODB;

CREATE TABLE promociones(id INT NOT NULL, nom_pro CHAR(25), etc , INDEX (id), PRIMARY KEY (id))TYPE=INNODB;

CREATE TABLE rentas(id INT NOT NULL, clientes_id INT NOT NULL, promociones_id INT NOT NULL, etc , PRIMARY KEY (id), INDEX (clientes_id), INDEX (promociones_id), FOREIGN KEY (clientes_id) REFERENCES clientes(id), FOREIGN KEY (promociones_id) REFERENCES promociones(id))TYPE=INNODB;

nota: creeo que es muy obio el etc son campos que le quieras agregar.
NOTA2: tambieb cuando creas llaves foraneas crea tus tablas de tipo INNODB, porque si no no hacer la referencia.

cuando creas las tablas crealas en este mismo orden y listo no debe de tener problemas a mi no me causo ya problemas.


todo esto lo investigue en la siguiente direccion tengan paciencia y leanlo todo:

http://www.programacion.com/bbdd/tut...referencial/3/


bueno espero le sirva la solucion a otras personas, y gracias vi que hubo varias visitas a esta pregunta el cual indica que si hubo interes en responderla gracias de nuevo

atte

Jose Manuel (AGUASCALIENTES, AGS, MEXICO) VIVA MEXICO....
  #4 (permalink)  
Antiguo 14/04/2010, 06:11
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: 2 FOREIGN KEY en una tabla urge

Hola buenas ya se que hace mucho que publicaste esta solución, pero te quería dar las gracias, gran aporte.

un saludo
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:16.