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

#1 Dario R. Ayala
15/12/2005 - 15:37 | Informe spam
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.



Respuesta Responder a este mensaje
#2 Adrian
15/12/2005 - 16:36 | Informe spam
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.
>
>
>
Respuesta Responder a este mensaje
#3 Salvador Ramos
15/12/2005 - 17:30 | Informe spam
Establece una relación 1:1 entre ambos ficheros de cabecera, y una relación
1:N entre el fichero de cabecera que rellenarás siempre, el esquema sería
algo así (perdón por la representación pero es que el editor de texto este
no da para mucho dibujito, espero que se entienda):
CabeceraOpcional <1:1> CabeceraPrincipal <1:N> Detalle

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL Server y .NET)


"Adrian" escribió en el mensaje
news:Or1$
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.
>
>
>




Respuesta Responder a este mensaje
#4 Alfredo Novoa
15/12/2005 - 17:33 | Informe spam
On Thu, 15 Dec 2005 10:55:38 -0300, "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.



Pues no deberías tenerlo.

En el caso en el que no lo puedas hacer de otra manera necesitarías
añadir otro campo Id a cada una de las cabeceras y crear una
restricción de integridad para que el mismo Id no pueda estar en más
de una cabecera.


Saludos
Alfredo
Respuesta Responder a este mensaje
#5 Alfredo Novoa
15/12/2005 - 17:40 | Informe spam
On Thu, 15 Dec 2005 12:36:25 -0300, "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.



Si, lo que te dice Darío es lo correcto.


Saludos
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida