Duda diseño de una tabla..

06/04/2005 - 10:35 por Muten | Informe spam
Hola!
Tengo dos tablas (maestro-detalle).
La primera es una tabla que recoge la cabecera de una
factura, inicialmente he pensado ponerle una clave
primaria compuesta por 4 campos:
IdEmpresa,IdDelegacion,SerieFact,NumFact
Y la tabla con las lineas de detalle tendría una CP
compuesta por cinco campos:
IdEmpresa,IdDelegacion,SerieFact,NumFact y NumLinea.
Harto de leer que las claves primarias compuestas no son
muy recomendable.. he pensado en poner la clave primaria
de la tabla cabecera como un código interno
(autonumérico,p.ej.) y de esta forma la tabla detalle
sólo tendría dos campos de Clave primaria.. o solo uno si
ponemos las lineas de detalle con otro autonumérico.
Mi duda es la siguiente: ¿conviene sustituir la clave
primaria compuesta por el código interno autonumérico?
Tengamos en cuenta que se van a insertar una cantidad
elevada de facturas y puede que a la larga sea peor el
remedio que la enfermedad. ¿Alguna otra sugerencia?

Gracias!

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
06/04/2005 - 11:16 | Informe spam
Bueno, no estoy tan seguro de que tengas que cambiar ese diseño inicial.
Echa un vistazo en http://www.helpdna.net/colab01.htm, es un artículo que
trata justamente de la duda que tienes, tal vez te ayude a escoger.


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Muten" escribió en el mensaje
news:0e5f01c53a83$900c0200$
Hola!
Tengo dos tablas (maestro-detalle).
La primera es una tabla que recoge la cabecera de una
factura, inicialmente he pensado ponerle una clave
primaria compuesta por 4 campos:
IdEmpresa,IdDelegacion,SerieFact,NumFact
Y la tabla con las lineas de detalle tendría una CP
compuesta por cinco campos:
IdEmpresa,IdDelegacion,SerieFact,NumFact y NumLinea.
Harto de leer que las claves primarias compuestas no son
muy recomendable.. he pensado en poner la clave primaria
de la tabla cabecera como un código interno
(autonumérico,p.ej.) y de esta forma la tabla detalle
sólo tendría dos campos de Clave primaria.. o solo uno si
ponemos las lineas de detalle con otro autonumérico.
Mi duda es la siguiente: ¿conviene sustituir la clave
primaria compuesta por el código interno autonumérico?
Tengamos en cuenta que se van a insertar una cantidad
elevada de facturas y puede que a la larga sea peor el
remedio que la enfermedad. ¿Alguna otra sugerencia?

Gracias!
Respuesta Responder a este mensaje
#2 Ricardo Passians
06/04/2005 - 13:22 | Informe spam
Harto de leer que las claves primarias compuestas no son
muy recomendable.. he pensado en poner la clave primaria
\de la tabla cabecera como un código interno


(autonumérico,p.ej.) y de esta forma la tabla detalle



Yo no creo que debas cambiar tu clave compuesta. Eso de usar claves
artificiales (autonuméricas) debería ser sólo cuando sea necesario.
Normalmente lo que debes es evitar una clave primaria muy larga sobre todo
cuando hay otros índices en la tabla, por tanto los componentes de la pk
compuesta deberían tener tipos de corta longitud. Fuera de eso yo no te
recomiendo que te compliques cambiando a claves artificiales.
Respuesta Responder a este mensaje
#3 Ricardo Passians
06/04/2005 - 13:25 | Informe spam
Fijate que excelente artículo!!!! Lo felicito.



"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> wrote in message
news:
Bueno, no estoy tan seguro de que tengas que cambiar ese diseño


inicial.
Echa un vistazo en http://www.helpdna.net/colab01.htm, es un artículo que
trata justamente de la duda que tienes, tal vez te ayude a escoger.


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Muten" escribió en el mensaje
news:0e5f01c53a83$900c0200$
Hola!
Tengo dos tablas (maestro-detalle).
La primera es una tabla que recoge la cabecera de una
factura, inicialmente he pensado ponerle una clave
primaria compuesta por 4 campos:
IdEmpresa,IdDelegacion,SerieFact,NumFact
Y la tabla con las lineas de detalle tendría una CP
compuesta por cinco campos:
IdEmpresa,IdDelegacion,SerieFact,NumFact y NumLinea.
Harto de leer que las claves primarias compuestas no son
muy recomendable.. he pensado en poner la clave primaria
de la tabla cabecera como un código interno
(autonumérico,p.ej.) y de esta forma la tabla detalle
sólo tendría dos campos de Clave primaria.. o solo uno si
ponemos las lineas de detalle con otro autonumérico.
Mi duda es la siguiente: ¿conviene sustituir la clave
primaria compuesta por el código interno autonumérico?
Tengamos en cuenta que se van a insertar una cantidad
elevada de facturas y puede que a la larga sea peor el
remedio que la enfermedad. ¿Alguna otra sugerencia?

Gracias!


Respuesta Responder a este mensaje
#4 Carlos Sacristán
06/04/2005 - 13:46 | Informe spam
Gracias, pero el mérito es de toda la gente que participó en ese hilo.
Lo que yo hice básicamente fue recopilar la información


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ricardo Passians" escribió en el mensaje
news:
Fijate que excelente artículo!!!! Lo felicito.



"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> wrote in message
news:
> Bueno, no estoy tan seguro de que tengas que cambiar ese diseño
inicial.
> Echa un vistazo en http://www.helpdna.net/colab01.htm, es un artículo


que
> trata justamente de la duda que tienes, tal vez te ayude a escoger.
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Muten" escribió en el mensaje
> news:0e5f01c53a83$900c0200$
> Hola!
> Tengo dos tablas (maestro-detalle).
> La primera es una tabla que recoge la cabecera de una
> factura, inicialmente he pensado ponerle una clave
> primaria compuesta por 4 campos:
> IdEmpresa,IdDelegacion,SerieFact,NumFact
> Y la tabla con las lineas de detalle tendría una CP
> compuesta por cinco campos:
> IdEmpresa,IdDelegacion,SerieFact,NumFact y NumLinea.
> Harto de leer que las claves primarias compuestas no son
> muy recomendable.. he pensado en poner la clave primaria
> de la tabla cabecera como un código interno
> (autonumérico,p.ej.) y de esta forma la tabla detalle
> sólo tendría dos campos de Clave primaria.. o solo uno si
> ponemos las lineas de detalle con otro autonumérico.
> Mi duda es la siguiente: ¿conviene sustituir la clave
> primaria compuesta por el código interno autonumérico?
> Tengamos en cuenta que se van a insertar una cantidad
> elevada de facturas y puede que a la larga sea peor el
> remedio que la enfermedad. ¿Alguna otra sugerencia?
>
> Gracias!
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida