Tuesday, August 5, 2008

[pgsql-es-ayuda] enlazar(?) tablas mediante un campo en comun (quizas medio OT)

Buenas gente.... espero que no me tiren una silla por lo que voy a preguntar (mis primeros dos mensajes recibidos de la lista me acobardaron un poco :-P )

Una breve reseña:
- Herramientas utilizadas:
a) Postgresql 8.1 sobre Debian Etch.
b) Versión de Postgis correspondiente.
c) Qgis 0.11
d) Grass 6.3 (del svn)
e) gvSIG
f) ARCView (solo para comparativa)

Resulta que tengo un proyecto hecho en ARCView, con sus correspondientes shapes, dbfs, etc.
He montado el motor con la extensión geoespacial, creado las tablas correspondientes, etc.
Luego he migrado los archivos shapes utilizando shp2pgsql (el modulo SPIT del qgis me sigue dando un error) sin problemas.
Teniendo los datos del proyecto migrados, me estaba dedicando a utilizar los cuatro entornos mencionados, cuando noto que no tenia todas las tablas migradas.
Mirando las capas shapes y sus correspondientes dbfs, noto que existe un dbf que no esta relacionado a ningún shape.
Realizando la consulta correspondiente, me indican que esta tabla esta "vinculada" a las otras mediante un campo en común.
Me presentan un par de vías para solucionar esta cuestión, la primera es "desvincular" las tablas (via ARCView) y guardar los shapes nuevamente (con otro nombre) con lo que debería guardar los atributos todos juntos (no funciono). Escribiendo esto se me ocurre que debería haber "unido" la tabla en cuestión con alguna de las otras.... lo voy a probar.
El otro camino era hacerla desde el motor. O sea vincular las tablas usando postgresql.
No soy un DBA, así que quizás mi consulta sea medio zonza.... como se hace esto?

Voy a tratar de explicarme un poco mejor....

Tengo dos tablas: usuarios y mapa

usuarios
id, nombre, dir, geo

mapa
id, loc, manz, parcela, geo

el campo geo es el campo en común.

En Postgres, tengo la tabla mapa con los datos de la capa, y migre (mediante dbf2pos, "toda una aventura") los dbfs "faltantes" a SQL y luego al RDBM.

Lo que me gustaría es que al buscar una ubicación en la capa mapa, el motor mediante el "vinculo" que sería "geo" me traiga el registro desde usuarios.

Espero haber sido algo claro (y soy consciente de mis (aun) limitados conocimientos en postgres, sql y demás....)

Tampoco espero una solución mágica. A veces un "lee esto salame: <link>" es mas útil que un "hace click y dale next next..."

Un abrazo y gracia por su paciencia (si leyeron hasta aquí)

--
Satoru Lucas Shindoi - lucas@dpec.com.ar
SysAdmin GNU/Linux, *NIX
Oficina (06 a 15 hs) 03783 463449 / 425612
ICQ: 95357247 - Gmail: shindoi@gmail.com - lucas@shindoi.com.ar
Messenger: slshindoi@hotmail.com - Yahoo: slshindoi@yahoo.com.ar
--------------------------------------------------------------------------
Sistemas de Informacion - DPEC - https://www.dpec.com.ar/sistemas
Proyectos NEA - www.nea.org.ar
--
TIP 4: No hagas 'kill -9' a postmaster

No comments: