[Pgsql-ayuda] Problema con funciones

Antonio Castro acastro@ciberdroide.com
Mon, 23 Jun 2003 07:57:51 +0200 (CEST)


On Sat, 21 Jun 2003, Alvaro Herrera wrote:

> > char(n) fue dise=F1ado para implementar esos campos peque=F1os que suel=
en
> > usarse para incluir c=F3digos o referencias.=20
>=20
> Y por qu=E9 no usas un identificador num=E9rico mejor?  El rendimiento es
> a=FAn mejor, es m=E1s f=E1cil de manejar, etc.  Supongo que aqu=ED entram=
os en
> un tema de gustos.

Los c=F3digos muchas veces tienen una estructura. Los N primeros caracteres
significan algo, los M siguientes otra cosa, etc. Las combinaciones de
n=FAmeros y letras resultan bastante interesantes y eficientes.=20
Otras veces las letras tienen un inter=E9s puramente nemot=E9cnico.=20
Cuando nada de esto resulta importante se usa un c=F3digo puramente num=E9r=
ico
por las razones que tu apuntas. Lo que quiero decir es que no es un tema
exclusivamente de gustos. Existen importantes motivaciones de productividad
en el manejo de estos c=F3digos por seres humanos.

Admito que el tema de fondo de este thread es discutible y eso eso lo que=
=20
hacemos, pero tampoco pretendo convencer a nadie de nada.

Yo insisto en que usar un tipo de codificaci=F3n en char(n) y otro distinto
para varchar(n), no viola ni el espirit=FA ni la letra del estandar, pero
si que permite darle a char(n) y varchar(n) aplicaci=F3n pr=E1ctica distint=
a=20
tal como __yo_opino__ se pretend=EDa en el estandar original.

Para mi cuanto m=E1s avanza este thread (seguramente algo largo) m=E1s me=
=20
convenzo de que todo son ventajas y no hay ni una sola desventaja important=
e=20
en lo que digo.

No se rompe el estandar y permite usar char(n) y varchar(n) como cosas=20
distintas.  char(n) no solo tendr=EDa un n=FAmero fijo de caracteres tal co=
mo=20
exige el estandar sino que tendr=EDa ocupaci=F3n fija y como =FAnica y pequ=
e=F1a pega=20
no permitir=EDa codificaci=F3n multibyte. Yo opino que eso no ser=EDa probl=
ema por=20
la posibilidad de usar varchar(n) en lugar de char(n) que si admitir=EDa
multibyte.

No se si se puede aportar algo m=E1s a este tema pero creo que=20
como m=EDnimo ambas posturas est=E1n claras y cualquiera de ellas
puede ser defendida.

--=20
Un saludo
Antonio Castro

       /\     /\   Ciberdroide Inform=E1tica=20
         \\W//  << http://www.ciberdroide.com >>
        _|0 0|_                                                   =20
+-oOOO-(___o___)-OOOo---------------------+=20
| . . . . U U . Antonio Castro Snurmacher | =20
| . . . . . . . acastro@ciberdroide.com   |=20
+()()()---------()()()--------------------+