Re: interrogantes

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Yoandy Perez Villazon <yvillazon(at)estudiantes(dot)uci(dot)cu>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: interrogantes
Date: 2005-09-12 15:01:19
Message-ID: 20050912150119.GA8549@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Mon, Sep 12, 2005 at 10:14:51AM -0400, Yoandy Perez Villazon wrote:
>
> Hola , yo soy novato en esto del postgre y estoy montando una base de
> datos , quisiera ver si me pueden explicar un poco
> Mas a fondo eso del tipo de dato TEXT y del nvarchar , quiero saber
> cual me seria masefectivo para usar , yo lo que voy a hacer es montar en
> la base de datos las URLs que le pidan a mi servidor proxy , pero como
> tienen un tamaño dinamico , quisiera saber si ustedes pudiesen
> explicarme esto un poco mas a fondo...

TEXT es un tipo que significa "almacenar aqui un dato de cualquier
longitud". VARCHAR(n), o su equivalente character varying, es un tipo que
indica "almacenar un dato de cualquier tamaño, menor o igual a n
caracteres".

Si tu no tienes un limite especifico fijado de antemano, usa TEXT -- te
ahorras tener que inventar un numero. Si hay un limite por alguna
razon, usa VARCHAR(n). Si estas pensando en algo como VARCHAR(10000),
considera que en algun momento alguien va a querer guardar una URL de
10001 caracteres. Pon un limite si tienes una politica que dice que no
quieres que los usuarios te llenen el disco con URLs excesivamente
largas.

El tipo CHAR(n) no sirve de nada. No tiene absolutamente ninguna
ventaja sobre VARCHAR(n), y varias desventajas. No lo uses nunca.
Existe solo para mejorar la compatibilidad con otros sistemas gestores
de datos, y para cumplir con el estandar SQL. Pero tiene un
comportamiento totalmente idiota, definido idiotamente por el estandar
SQL. Si quieres mantener tu sanidad mental, mantenlo alejado de tus
bases de datos.

Si quieres almacenar un byte para distinguir "tipos" de objetos, usa el
tipo "char" (con las comillas). Este tipo almacena un solo byte, en
contraste con CHAR(1) y VARCHAR(1) que almacenan minimo 5 bytes para
guardar el mismo contenido.

--
Alvaro Herrera -- Valdivia, Chile Architect, www.EnterpriseDB.com
"God is real, unless declared as int"

In response to

  • interrogantes at 2005-09-12 14:14:51 from Yoandy Perez Villazon

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-09-12 15:06:00 Re: problemas con la clave primaria
Previous Message Ivan Hills 2005-09-12 14:42:05 Re: problemas con la clave primaria