Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/11/2008, 21:21
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: 17 años, 2 meses
Puntos: 2658
Respuesta: Referencia (FK) de 2 columnas diferentes

No es posible realizar una FK que referencie a diferentes tablas. Eso es simplemente imposible. Ningún motor de base de datos te admitirá eso.
Lo que se hace es que la PK de las dos tablas aparezcan como FK en la tabla secundaria, pero el problema es que no es lo que tu intentas hacer, esto es, que pueda tener una clave u otra.
Partiendo de la base que eso sería una violación completa al pardigma de las base de datos relacionales, y que ni siquiera respeta el paradigma de programación orientada a objetos, francamente creo que el problema puede ser:
a) el modelo de datos está mal concebido desde el inicio o
b) el analisis del sistema no esta correctamente realizado y su modelado tampoco.

Esto es simplemente porque una entidad no puede jamás relacionarse con una u otra entidad. Eso es demasiado indeterminado.
Lo que si puede suceder es que la relación no sea obligatoria, y que solamente pueda existir una combinación válida. Eso puede ser resuelto con dos tablas distintas, para relacionar las tablas por entidades o conceptos distintos, o bien una relación con una entidad con jerarquías.

pero lo que tu preguntas, no.
__________________
¿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; 05/11/2008 a las 21:28