Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ayuda con mysql guardar relaciones y claves coimpuestas

Zama-Sama

Bovino maduro
Desde
12 Ago 2007
Mensajes
490
Hola compañeros bakunos, ando armando un programita k segun me ayudara mejor a organizar unos cuantos archivos y a practicar programacion y diseño de bases de datos.

este es el diagrama k tengo de momento XD

wrestling.png


mi duda es como deberia insertar los datos en una relacion muchos a muchos? primero una tabla despues otra y al final la k los conecta? en caso de ser asi como puedo saber con que claves se guardaron? para si utilizarlas en la ultima tabla

o la otra manera que he pensado si es que lo he entendido bien es usar una clave compuesta de esa manera tener mas control sobre las claves pero como podria hacer eso? por ejemplo la tabla de matches como podria hacer una llave compuesta

espero no sea mucha molestia y si kiza no se me puede explicar del todo al menos alguna direccion con mas detalles sobre esto :) muchisimas gracias :D
 
En efecto son claves compuestas, yo te recomiendo, por ejemplo, el siguiente codigo sql de matches seria:
create table matches
(
id_matches int not null,
date_match smalldatetime,
id_shows int,
id_match_type int,
storage varchar(5),
primary key(id_matches),
foreign key (id_shows) references(shows),
foreign key (id_match_type) references(match_type),
);
date match no lo considero por que es de tipo fecha. primary key(id_matches), --Esto solo para sql server o en caso de poner varias primary key, lo podrias poner en -- id_matches int not null primary key, Esto para mysql
 
tomare tu consejo :) muchas gracias seguire viendo como puedo hacer lo del guardado de mientras :)
 
prueba usando DB Designer, Erwin 7.x, dichos programas generan scripts que puedes ejecutar en cualquier motor de base de datos.
 
lo checare, aunk dudo saber k hacer si no se bien como se manejan las claves compuestas jeje saludos :)
 
por si a alguien le interesa y le sirve finalmente me decidi por guardar el registro en la tabla y despues los registros de la tabla intermedia

BEGIN;
INSERT INTO matches(shows_id_show, date_match,

match_types_id_match_type, storage_unit) VALUES(1,'2010-02-02 15:35:00',1,'HD') ;
set @lastid = LAST_INSERT_ID();
INSERT INTO matches_has_gimmicks(matches_id_match,

gimmicks_id_gimmick, match_team)
VALUES
(@lastid, 1, 1),
(@lastid, 2, 1),
(@lastid, 3, 2),
(@lastid, 4, 2);
COMMIT;

ahorita tengo una duda, pienso hacer una vista en la k se muestren por ejemplo los siguientes datos

+------------+---------------+-----------+--------------+--------------------+
|name_company| name_show| name_match| match_type| gimmicks|
+------------+---------------+-----------+--------------+--------------------+
|TNA |bound for glory| 2009/10/22|Monster's Ball|Abyss Vs Mick Foley|
+------------+---------------+-----------+--------------+--------------------+

aqui el detalle solo es poder concatenar los datos de la tabla entre match y gimmick y gimmick principalmente porque son varios que podria hacer en este caso?
 
Volver
Arriba