1 detalle con 2 cabeceras

15/12/2005 - 14:55 por Adrian | Informe spam
Tengo una tabla de detalle unica y 2 tablas de cabecera, y segun
determinados parametros, utilizo una u otra cabecera para el detalle.

El problema lo tengo con el diseño:

CABECERA1:
-IdCabecera1 (identity)
-Campo1
-Campo2

CABECERA2:
-IdCabecera2 (identity)
-CampoA

DETALLE:
-CampoXXX
-CampoYYY
-CampoZZZ


El tema es, como relaciono el detalle con la cabecera correspondiente, pq si
yo pongo un IdCabecera en DETALLE, y, por ejemplo, es 1, yo voy a tener un
Id = 1 en cada una de las tablas CABECERA.

Como se resuelven este tipo de casos de la manera mas normalizada posible
(pensando en las futuras consultas con SELECT)

Muchas gracias.

Preguntas similare

Leer las respuestas

#6 Adrian
15/12/2005 - 19:05 | Informe spam
Es una buena solucion, aunque de todos modos deberia crear 2 OTROSCABECERA,
x el mismo problema (hay varios campos exclusivos mutuamente excluyentes en
una cabecera o en otra).

Con esto soluciono igual el tema de las claves, despues llegado el momento
vere como optimizar las consultas de seleccion.

Muchas gracias, Dario



Adrian
"Dario R. Ayala" escribió en el mensaje
news:
Y porque no creas una única cabecera con los datos en comun a la mercadería
que viene tanto dentro como fuera del circuito y otra tabla con una relacion
de uno a uno donde solo vas a cargar los datos libres cuando sea necesario?,
de esta manera vas a tener 3 tablas pero no 2 Id de cabecera duplicados.
Modificando un poco quedaría algo asi:

CABECERA:
-IdCabecera (identity) (Primary Key)
-Campo1
-Campo2

OTROSCABECERA:
-IdCabecera (Foreign Key)
-CampoA

DETALLE:
-IdCabecera (Foreign Key)
-CampoXXX
-CampoYYY
-CampoZZZ


Espero que te sirva.
Saludos


Dario R. Ayala

Microsoft DCE 2005 2E - DCE 3E



Adrian wrote:
el tema es que si la mercaderia llego desde dentro del circuito de mi
empresa, tengo una cabecera con varios datos que estan en mi sistema, pero
si llego desde afuera, tengo q cargar otros datos mas libres (observaciones,
nombreChofer, patente, etc).

Pero en ambos casos, el detalle es siempre el mismo, y lo q me gustaria
evitar es una cabecera q siempre tenga la mitad de los campos en NULL.




"Dario R. Ayala" escribió en el mensaje
news:

Adrian, el problema con este diseño es que no podes crear una relación,
porque tenes la necesidad de tener dos cabeceras?
Saludos

Dario R. Ayala

Microsoft DCE 2005 2E - DCE 3E



Adrian wrote:

Tengo una tabla de detalle unica y 2 tablas de cabecera, y segun
determinados parametros, utilizo una u otra cabecera para el detalle.

El problema lo tengo con el diseño:

CABECERA1:
-IdCabecera1 (identity)
-Campo1
-Campo2

CABECERA2:
-IdCabecera2 (identity)
-CampoA

DETALLE:
-CampoXXX
-CampoYYY
-CampoZZZ


El tema es, como relaciono el detalle con la cabecera correspondiente,

pq si

yo pongo un IdCabecera en DETALLE, y, por ejemplo, es 1, yo voy a tener

un

Id = 1 en cada una de las tablas CABECERA.

Como se resuelven este tipo de casos de la manera mas normalizada

posible

(pensando en las futuras consultas con SELECT)

Muchas gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida