Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/08/2008, 06:41
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: Múltiples relaciones entre 2 entidades

Entendamos una cosa: Un FK es una referencia a la PK de una tabla, por lo que, si bien es posible poner dos, tres o más veces una FK referida siempre a la misma tabla, en todos los casos esas FK apuntan al mismo campo de la otra tabla, porque simplemente una tabla no puede tener nunca más de una PK.

En otras palabras, en una tabla Empleado(IdEmpleado, idJefeDpto, IdSupervisor, idJefeProyecto), si el Jefe de Departamento, el Supervisor y el Jefe de Proyectos son la misma persona, aparecerá siempre el mismo valor de ID en los tres campos. En ese sentido, puedes hacer que dos o más FK a punten a la misma tabla. Pero nunca serán valores distintos en ese ejemplo, porque uno sólo de esos valores puede provenir del PK de ese registro en la tabla referida. Solo puede suceder que sean distintos, si los registros a los que apuntan son distintos. Esto es algo que tienes que tener en cuenta a la hor ade diseñar la validación de lo que ingresas y el diseño de la tabla.

Si existiese el caso de que el empleado que cumple esas funciones tiene diferentes PK para cada una de esas funciones, eso solo puede suceder si los registros referidos provienen de una tabla distinta, digamos CargosAsignados(idCargoAsignado, IdEmpelado, IdNombreCargo), donde la FK en cada caso apunta a IdCargoAsignado.

¿Se comprende la idea?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 01/08/2008 a las 06:46