Skip site navigation (1) Skip section navigation (2)

Re: Tablas?==?iso-8859-1?Q? para ubicación geográfica

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Jorge Pérez <jlperez(at)epm(dot)net(dot)co>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Tablas?==?iso-8859-1?Q? para ubicación geográfica
Date: 2005-01-24 00:17:51
Message-ID: 20050124001751.GM19315@dcc.uchile.cl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
On Sun, Jan 23, 2005 at 11:26:04AM -0500, Jorge Pérez wrote:
> Tengo el siguiente problema que no he podido resolver; necesito utilizar 
> tres tablas en mi base de datos Países, Departamentos, Municipios. Las 
> siguientes son las estructuras que creo debería utilizar:
> 
> - Paises: Codigo Char(2), Nombre Char(35) -Para los códigos de país 
> estoy utilizando los códigos ISO (CO-Colombia, etc.)
> - Departamentos: Pais Char(2), Codigo Char(2), Nombre Char(35)
> - Municipios: Pais Char(2), Departamento Char(2), Codigo Char(5), Nombre 
> Char(35)

FWIW, usar char(2) siempre usara 6 bytes, y las comparaciones (para
busquedas de llave primaria, etc) toman mucho mas tiempo y CPU que usar
un tipo INTEGER, que ademas de usar 4 bytes se mapean a int32 nativos de
la plataforma.  Asi que por rendimiento, yo les pondria una llave
primaria INTEGER.

2. usar tipos char(35) no tiene mucho sentido porque el llenado con
blancos para satisfacer los 35 chars ocupa espacio (y el necesario I/O)
innecesariamente; ademas el uso de operadores con char(n) siempre
sorprende a los incautos (prueba por ej. la concatenacion).  Mejor usar
VARCHAR(35), y dado que en realidad la restriccion de tamaño es
arbitraria, simplemente TEXT.

3. en mi pais no se usa "departamentos" y "municipios" sino "regiones" y
"comunas".  No se si eso afecte tu modelo pero puede ser importante de
tener en cuenta :-)  (Adicionalmente hay un nivel intermedio,
"provincia", que no se suele tomar mucho en cuenta).  Pero por ej. el
sistema de correos usa solamente "comuna", el resto no importa.


-- 
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"Puedes vivir solo una vez, pero si lo haces bien, una vez es suficiente"

In response to

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2005-01-24 01:48:33
Subject: Re: Conectar Cliente A PostgreSQL 8 en Windows
Previous:From: Nicolás Mendoza HernándezDate: 2005-01-24 00:16:58
Subject: Conectar Cliente A PostgreSQL 8 en Windows

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group