Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/06/2011, 14:54
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: referencia de una tabla a varios campos de otra

Bueno, por un lado, a menos que tengas un cierto tiempo en FDW, no puedes poner links o imágenes en tus post. Es por cuestiones de seguridad anti-spam, no por otra cosa, pero aparece entre las políticas de foros del web (presumo que no las leíste en detalle, no te preocupes, a mí también me pasó).

Yendo al tema, pareces tener alguna confusión respecto al tema de relaciones entre tablas y claves foráneas (foreign key). Aclaremos:
- Las FK son campos o conjuntos de campos que referencian a la clave primaria de otra tabla.
- Si la clave primaria de la tabla referida está compuesta por un único campo, la FK en la tabla secundaria deberá ser de un campo.
- Si la PK de la tabla referida tiene más de un campo, la FK debe tener la misma cantidad de campos en la tabla secundaria, del mismo tipo, y en el mismo orden en que aparecen en la tabla de origen.
- Una FK sólo puede apuntar a una PK. MySQL incluye la opción de apuntar a una clave candidata si y sólo si la misma, en su tabla, se definió con un índice UNIQUE.
- No se puede apuntar una FK a un campo que no sea clave en la tabla referida. La obtención de ese campo se hace por medio de la FK formal, la cual es sólo por claves.
- Una FK puede ser PK de su propia tabla, o ser parte de ella. En el segundo caso se indica que existe una dependencia formal entre la tabla secundaria y la primaria (la clave se hereda).
- Una tabla puede contener tantas FK como sean necesarias, pero formalmente si la PK de la tabla está formada por FKs, sólo puede haber tres FK que conformen la PK de la misma. Si hay más, hay un problema de normalización muy grave o un diseño de relaciones deficiente.

¿Se entienden estos detalles?

Postea la dirección de las imágenes, pero no intentes ponerlas como links o como IMG.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)