Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Es posible alimentar una clave foranea con varias primarias?

Estas en el tema de Es posible alimentar una clave foranea con varias primarias? en el foro de Mysql en Foros del Web. Buenas tardes mi duda es la siguiente si tengo 3 tablas con 1 campo unico cada una llamado X , y deseo que 1 campo ...
  #1 (permalink)  
Antiguo 23/10/2014, 11:16
 
Fecha de Ingreso: julio-2004
Mensajes: 323
Antigüedad: 20 años, 4 meses
Puntos: 1
Pregunta Es posible alimentar una clave foranea con varias primarias?

Buenas tardes mi duda es la siguiente si tengo 3 tablas con 1 campo unico cada una llamado X , y deseo que 1 campo de 1 sola tabla de tipo indice llamado de igual manera X permita que se llenen datos solo que esten en esas tablas primarias, esto es posible hacerlo ? y como?

ejemplo:

tabla 1
x = 0

tabla 2 tabla 4
x = 1 x = (puede ser 0, 1 ó 3)

tabla 3
x = 3

gracias de antemano, lo pregunto por que solo es una duda que tengo.
  #2 (permalink)  
Antiguo 23/10/2014, 11:20
Avatar de 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
Puntos: 2658
Respuesta: Es posible alimentar una clave foranea con varias primarias?

No. Una FK sólo puede apuntar a una única PK de una única tabla.
Loq eu estás planteando es posible que se resuelva generando una jerarquía de herencia padre/hijo entre las otras tablas, pero habría que analizar el caso específico. En ese contexto, si las tres tablas son hijas de una tabla padre, la FK apunta a la tabla padre y por transitividad se obtiene con cual de las hijas se relaciona.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: key, mysqli, primaria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:59.