Duda con clave ajena (PhpMyAdmin)

Iniciado por JonaLamper, 12 Noviembre 2016, 18:28 PM

0 Miembros y 1 Visitante están viendo este tema.

JonaLamper

Buenas,

Tengo dos tablas usuarios, partidas y quisiera que mi tabla jugadores tuviese una clave compuesta formada por las dos claves primarias de usuarios y partidas. ¿Estaría bien así? Simplemente he creado una relación de cada clave y las he unido.



Lo que veo es que al mirar la estructura de la tabla jugadores, en el campo id_usuario me aparece una llave gris, ¿eso qué significa y por qué no me aparece también en el campo id_partida?




Posdata: si alguien sabe hacerlo con una sentencia SQL también me serviría ^^

Muchas gracias  ;D
Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.

engel lex

no pueden haber 2 claves primarias... y la clave primaria no debería ser una ajena (a menos que sea unica y en ese caso no val la pena que hagas otra tabla)

recuerda que la clave primaria debe ser unica... un mismo usuario solo podrá ser un solo jugador

jugadores debe tener su identificador primario unico, y parte de su contenido son las claves ajenas
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

JonaLamper

Vale, o sea que la tabla jugadores tendrá un id_jugadores y, además, tendrá 3 campos: id_usuario, id_partidas y rol (para relacionar qué usuarios están en qué partidas y qué roles tienen en cada partida)
Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.

engel lex

si, recuerda que la clave primaria es unica, no se puede repetir... si pones partidas (que debe repetirse... ya creo que entiendes lo que pasa si colocas 2 claves unicas iguales)

tambien puedes usar directamente la tabla usuarios, usando un campo partida, allí el ide de la partida y si es -1, quiere decir que no está jugando
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.