Re: Duda sobre tipo de datos Enteros vs. Caracteres

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Julio Rivero <jcrmlima(at)gmail(dot)com>
Cc: Gunnar Wolf <gwolf(at)gwolf(dot)org>, psql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Duda sobre tipo de datos Enteros vs. Caracteres
Date: 2005-12-17 12:41:12
Message-ID: c2d9e70e0512170441j44faab4cr9106818961a93ed9@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 12/17/05, Julio Rivero <jcrmlima(at)gmail(dot)com> wrote:
> Gracias a todos por las respuestas.
>
> Para comentarles un poco, estamos en etapa de diseño de modelo fisico y
> algunas tablas tienen como clave primaria campos de tipo caracter, porque el
> negocio así lo establece, por ejemplo: Nro. de Factura, que generalmente por
> negocio esta establecido que es el número de serie con 3 caracteres: 001
> (por ejemplo), seguido de un "-" y continua con el número de la factura en
> si, que sería: 0000000024, es decir tendría lo siguiente: 001-0000000024 que
> suman en total 14 caracteres.
>
> Mis dudas son en cuanto a crear llaves compuestas, pues algunas van a tener
> campos de tipo INT y otras de tipo VARCHAR, por ejemplo: cod_empleado y
> nro_factura son la clave compuesta de la relación empleado factura (por
> citar un ejemplo), y como ya defini que mi campo cod_empleado sea de tipo
> INT pero mi campo nro_factura sea de tipo VARCHAR(14) (los dos son claves
> primarias de sus tablas respectivas), entonces se crearía mi tabla
> empleado_factura con los dos campos como clave primaria (llave compuesta).
>
> Habría algún problema cuando realice una consulta o query?, es decir en
> cuanto a rápidez y tiempo de respuesta para una consulta a esta tabla con
> clave compuesta y con dos tipos de campos distintos.
>
> Gracias de antemano
>

estas entendiendo mal el concepto de clave compuesta...

una clave compuesta es la que se conforma de mas de dos campos de la tabla...

create table foo (
fld1 smallint not null,
fld2 integer not null,
primary key (fld1, fld2)
);

esto es una clave compuesta, lo que tu dices es solo una forma de
buscar problemas y complicar tu codigo por gusto...

luego a la hora mostrar lo formateas para que se vea como tu quieres,
incluso podrias crear una tabla de parametros para indicar cuantas
posiciones va a ocupar el prefijo y cuantas posiciones va a ocupar el
numero de la factura...

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message José Fermín francisco ferreras 2005-12-17 13:35:31 Cambio de precios automaticamente
Previous Message Softtime 2005-12-17 11:28:18 Actualizacion de version (8--->8.1)