17/12/2012, 06:28
|
| | | Fecha de Ingreso: septiembre-2012 Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 2 meses Puntos: 10 | |
Respuesta: Select de de tres tablas. Cita:
Iniciado por gnzsoloyo Bueno, al decirme eso me estás confirmando que tu base está mal planteada, pero además que no tienes claro lo que es una FK.
Yo no estoy diciendo que num_usuario pueda ser PK de dir_usuario, sino que num_usuario debe ser FK (foreign key) de dir_usuario, que es algo completamente diferente.
Al definir a num_usuario como FK en dir_usuario lo que sucede es que se mantiene una integridad completa de datos entre un usuario determinado y cada una de sus direcciones, que pueden ser N direcciones, pero en el contexto de tu caso puedes perfectamente poner una dirección con un num_usuario inexistente, porque la base no puede asegurar por si misma la integridad y consistencia de ese dato.
Ahora bien, en el caso de al tercera tabla, si avisos_wed se debe corresponder con un usuario y además con una dirección dada, entonces requiere que ambas PK de cada tabla estén en ella como FK, lo que determinaría completamente la relación y el JOIN sería posible de realizar.
Si la dirección no es determinante, entonces sólo debería ir el num_usuario, pero aún así debería ser FK.
¿Vas entendiendo la lógica del asunto?
Si no defines jamás podrías asegurar la consistencia de los datos, y por ende terminarías teniendo datos-basura. OK, entonces me he confundido. Pero donde esta en Myadmin FK?, yo pensaba que era un simbolo de una llave dorada.
Porque en la tabla usuarios esta bien? |