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

Llaves Foraneas Nulas?

Estas en el tema de Llaves Foraneas Nulas? en el foro de Mysql en Foros del Web. Hola, tengo el siguiente caso: Tengo 3 tablas, 2 de ellas se relacionan con la otra [tabla:equipo]- 1,1 --- 1,n -[tabla: mantencion]-1,n -- 1,1-[tabla: estructura] ...
  #1 (permalink)  
Antiguo 07/01/2011, 17:46
 
Fecha de Ingreso: mayo-2009
Ubicación: Concepción
Mensajes: 27
Antigüedad: 10 años, 9 meses
Puntos: 0
Llaves Foraneas Nulas?

Hola, tengo el siguiente caso:

Tengo 3 tablas, 2 de ellas se relacionan con la otra


[tabla:equipo]- 1,1 --- 1,n -[tabla: mantencion]-1,n -- 1,1-[tabla: estructura]

por ende, en [tabla:mantencion] esta su propia llave primaria, varios atributos y 2 llaves foraneas que corresponden a las de [tabla:equipo] y [tabla:estructura].

Ahora bien, al momento de insertar datos en la tabla mantencion, que tienen que ver solo con con un equipo, insertarte los datos de mantencion y ademas la llave foranea del equipo, pero no de la estructura, por ende esta debería ser nula.

Es esto posible? que solución hay?
Tenia pensando que en ambas tablas, equipo y estructura, creara una llave "falsa" que no tendria datos asociados a ellas, y que cuando insertara los datos la ocupara dicha llave "falsa", Hay otra manera? o.o
  #2 (permalink)  
Antiguo 10/01/2011, 05:11
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 11 años, 11 meses
Puntos: 574
Respuesta: Llaves Foraneas Nulas?

Una llave foranea por definición sólo admite valores de la tabla referenciada o nulos.

Si no te admite el nulo será que has definido el campo como "not null", eso no tinene nada que ver con la FK.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: llaves, foreignkey
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 09:10.