Está en la página 1de 18

MANUALDE

ADMINISTRACIONDEL
PLUGINQGISSQL

Guaparalosadministradoresdesistemas

ProyectoCrditoMixtoSuizoparaelRICdeGuatemala
Julio2001

MANUALDEADMINISTRACINDEL
PLUGINQGISSQL
INTRODUCCIN
Viendolasnecesidadesdecontarconunaherramientaquepermitagestionarlaintegracinde
informacin vectorial (grafica) con informacin alfanumrica el Proyecto Crdito Mixto
desarrollparaelRICdeGuatemalaunplugindenominadoQgisSQL,programadoenC++con
librerasdeQuantumGIS(QGIS).
ElpluginQgisSQLescreadoconelfindeproporcionarunaherramientadeconsultaabasesde
datosintegradaalsistemadeinformacingeogrficaQGIS.Entreotrosepermiteporejemplo
realizarunaunin(join)entreinformacinpredialespacialylainformacindelostitularesy
desplegar el resultado de la consulta en la interfase de QGIS (tambin relaciones uno a
muchos). QgisSQL entonces no es un motor de base de datos sino ms bien es un plugin de
interfaseentremltiplesbasesdedatos.
Un objetivo a futuro para QgisSQL es mejorar su interaccin con la informacin geogrfica
presenteenlosdiferentestiposdecapasvectorialesquesepuedenmanipulardentrodeQGIS.

P r o y e c t o C r d i t o M i x t o

1|P g i n a

INSTALACIONPLUGINSQGISSQL
ElpluginparaWindowsesunarchivodeextensinDLL,llamadoqgisplugins.dll,descargablede
lapginahttp://code.google.com/p/girs/downloads/list.
Para su integracin o instalacin en el QGIS se debe copiar dicho archivo a la carpeta
C:\Program Files\Quantum GIS [nombre de la versin actual de QGIS]\apps\qgis\plugins es
dondeseencuentranlosdemspluginsconextensinDLL.Unavezcopiadodichoarchivoala
carpetarespectivasedebeactivarelpluginenelmenComplementos.

El submen Administrar Complementos permite visualizar los complementos o plugins


instaladosyhabilitarlosparasuuso.

La opcin despliega una ventana con los complementos o plugins para habilitar o
deshabilitarlos. Para un rpido acceso al QGisSql plugin el mismo puede ser filtrado con el
respectivonombre.

P r o y e c t o C r d i t o M i x t o

2|P g i n a

El plugin por defecto se encuentra deshabilitado. Para habilitarlo se marcar el mismo


activandolacasillaadjunta.ConfirmarcambioconclicenOK.

Seguidamente se desplegarn una barra de herramientas con 4 botones y dos ventanas de


comandos,loscualessedescribirnacontinuacin.

P r o y e c t o C r d i t o M i x t o

3|P g i n a

FUNCIONAMIENTODELPLUGINQGISSQL
Al momento QgisSQL consta de tres diferentes widgets en su interfase grfica, el rbol de
conexinyelInterpretadordecdigo,ascomolabarradeherramientas.

Widgetsrboldeconexin
Elrboldeconexionesabasededatosyconsultas,esdondeseindicantodaslasconexiones
de las base de datos que existen en la mquina. Dentro de cada una de ellas se podrn
observarlasconfiguracionesdelasconsultasquecuentaelsistemaconlarespectivabasede
datos.

Enelwidgetexisten6botonesloscualessedescribenacontinuacin.
Botn Ayuda El botn de ayuda permite ver una pequea sintaxis para crear y
eliminar conexiones a diferentes bases de datos (al momento son PostgreSQL, MS SQL
ServerySQLite).

P r o y e c t o C r d i t o M i x t o

4|P g i n a

BotnEliminarConexineliminalaconexinoconsultaseleccionadaenelrbolde
conexiones
Botn Agregar Conexin permite realizar conexiones a las bases de datos
alfanumricasenlascualesserealizarlaconfiguracindelasdiferentesconsultas.Aldar
clicenelbotnsedespliegalapantallasiguiente

Sedebeingresartodoslosdatosdelaconexin.ClicenelbotnOKparacomprobar
laconexineintegrarlaenelrboldeconexionescomoenelgraficosiguiente.

BotnConectaroActivarConexinElbotnactivaoconectalabaseseleccionada
enelrboldeconexiones.Unavezconectadalabasededatossemuestraennegrillasy
marcadaconunaXcomoindicaelgraficosiguiente.

P r o y e c t o C r d i t o M i x t o

5|P g i n a

Botn Desconectar o Desactivar Conexin El botn realiza la desactivacin a la


basededatosseleccionadaydesmarcalaconexin.

Botn Actualizar o Refrescar rbol de Conexiones El botn permite redibujar y


cargarlasconexionesoconsultasdentrodelrboldeconexiones.
Almarcarelcheckboxdelrboldeconexionesinmediatamenteseestableceunaconexinala
base de datos seleccionada y si se marca una consulta se habilita la misma para poder ser
trabajadaconotrasherramientas.

WIDGETINTERPRETADORDECDIGO
LapartemsimportantedelpluginQgisSQLeselwidgetinterpretadordecdigoparahacer
consultas cruzadas, conexiones a bases de datos o incluso edicin de tablas. Se trata de un
gestor diseado para soportar consultas complejas y la respectiva ventana se coloca por
defectoenlaparteinferiordeQGIS.

Elinterpretadorcuentaconuneditordondeseintroducelassentenciasytambinconlosdos
botonesRunyClean:
P r o y e c t o C r d i t o M i x t o

6|P g i n a


Runpermiteejecutarlasentenciaintroducidaeneleditor
Cleanlimpiaeleditorparaunanuevasentenciaaejecutar
AlmomentoelpluginpermiteconexionesatresDBMSs:PostgreSQL,SQLiteyMSSQLServer.
NotaAlmomentosoloenWindowssehaprobadolavalidezdelaconexinaMSSQLServer.
Enlassentenciasdeestemanual,laspalabrasdeltipo<palabra>debenserreemplazadaspor
elrespectivovalorquesugieraelmismo.Laspalabrasentrecorchetes[]sonopcionales.
LassentenciasquesepuedenutilizarenelInterpretadordecdigosonlassiguientes:
CONEXINAUNABASEDEDATOS
CrearunaconexinaunabasededatosdePostgreSQL
CREATECONNECTIONAS
<NombreReferentealaconexin>
TYPEPOSTGRESQL
DATABASE
<NombredelabasedeDatos>
USERNAME
<NombredelUsuario>
PASSWORD
<Contraseadelusuario>
HOST
<NombreHostoIP>
SCHEMA
<Schemadepreceated>
PORT
<NumerodePuerto>
CONNECT
[TRUE|FALSE]

CrearunaconexinalaunabasededatosdeMSqlServer
CREATECONNECTIONAS
<NombreReferentealaconexin>
TYPEMSQLSERVER
DATABASE
<NombredelabasedeDatos>
USERNAME
<NombredelUsuario>
PASSWORD
<Contraseadelusuario>
HOST
<NombreHostoIP>
CONNECT
[TRUE|FALSE]
CrearunaconexinaunabasededatosdeSQLite
CREATECONNECTIONAS
TYPESQLITE
DATABASE
PATH
INTERFACE
CONNECT

<NombreReferentealaconexin>
<NombredelarchivodelabasedeDatos>
<Ubicacindelarchivodelabasededatos>
[TRUE|FALSE]
[TRUE|FALSE]

EjemplodeunaconexinalabasededatosdePostgresSQL
CREATECONNECTIONAS
TYPEPOSTGRESQL
DATABASE

PostgresPrueba
SIGAT

P r o y e c t o C r d i t o M i x t o

7|P g i n a


USERNAME
PASSWORD
HOST
SCHEMA
PORT
CONNECT

postgres
postgres
localhost
public
5432
TRUE

ELIMINACIONDEUNABASEDEDATOS
Para eliminar una conexin a la base de datos desde el interpretador se debe ejecutar la
siguientesentencia(desconectayeliminaelproceso):
DELETECONNECTION

<nombredelaconexion>

Ejemplo
DELETECONNECTION

PostgresPrueba

ESTABLECERUNACONEXINPORDEFECTO
De todas las conexiones en el rbol, se puede definir una conexin por defecto. Eso se
establecedelasiguienteforma
SELECTINTERFACE

<nombredelaconexion>

Ejemplo
SELECTINTERFACE

PostgresPrueba

GUARDARUNACONSULTAENUNACONEXINEXISTENTE
Para la creacin de una consulta almacenada para la respectiva conexin se ejecuta el
siguientecomando:
CREATEQUERY

AS

TYPE

[WITHLAYER

[ONCONNECTION

"{"<CualquiersentenciaSQLvlida>"}"
<Nombre>
[ONLY|SIMLE|TOOL]
<Nombrecapa>]
<Nombreconexin>]

Ejemplo A continuacin se genera un ejemplo de un join entre una capa con informacin
espacialyunaconsultaenSQLite.
Conexinaunabasededatos(Postgres,SQLite,SQLServer),enesteejemploesunaconexin
aunabaseenSQLite.
CREATECONNECTIONAS

ConexionSQLite

P r o y e c t o C r d i t o M i x t o

8|P g i n a


TYPESQLITE
DATABASE
prueba.db
PATH
C:\QgisSQL
INTERFACE
FALSE
CONNECT
TRUE

Enelsiguientepasosegenerarunaconsultarelacionandounacapadeinformacinespaciala
unaconsultaenSQLite,paraestoseejecutalasiguientesentencia.
CREATEQUERY{SELECT*FROMtablaWHEREname=$name}

AS

Prueba_JOIN

TYPE

TOOL

WITHLAYER
Predios

ONCONNECTION
ConexionSQLite
Nota En la sentencia del query se ve un valor con un smbolo ($) delante, este smbolo
significaquedelatablaelcamponameseharreferenciayunaconsultaconelcamponame
delacapadepredios,deestamaneraserealizaunjoinentreunacapayvariasconsultasde
basesdedatos.
EnlasiguienteconsultasedesplieguenicamenteelcamponamedelabasedeSQLite.
CREATEQUERY{SELECTnameFROMtablaWHEREname=$name}

AS

Consulta_Predio

TYPE

TOOL

WITHLAYER
Predios

ONCONNECTION
ConexionSQLite

P r o y e c t o C r d i t o M i x t o

9|P g i n a


NotaLaconsultapermiteestablecerlaseleccindelacapade prediosyunirlaconlatabla
alfanumrica segn campo correspondiente. Al usar el botn de seleccin de la herramienta
QgisSQL haciendo clic sobre cualquier predio nos muestra la consulta en l interfase de QGIS
(tambinrelacionesunoamuchos,porejemplocuandohayunpredioyvariostitulares).
ENVIARCONSULTAAUNACONEXIONEXISTENTE
EnviarcualquierconsultaSQLaunaconexinestablecida
DIRECT<Nombreconexin>"{"<CualquiersentenciaSQLvlida>"}"
Ejemplo
DIRECTPostgresPrueba"{"SELECT*FROMT_Tenencia"}"
ELIMINARUNACONSULTAENUNACONEXINEXISTENTE
Eliminaunaconsultadeunaconexinexistente
DELETEQUERY<Nombreconsulta>ONCONNECTION<Nombreconexin>
Ejemplo.
DELETEQUERYPredio_TenenciaONCONNECTIONPostgresPrueba
MIGRARTABLAAUNABASEDEDATOS
Para migrar una tabla a una base de datos de una consulta de seleccin se debe ejecutar lo
siguiente.
CREATETABLENew<NombredelaTabla>
FROM (
DIRECT<Nombreconexin>
{
SELECTsenteciadeselectiondeunaconsultaexistente
}
)
[ONCONNECTION<Nombreconexin>]
o
CREATETABLENew<NombredelaTabla>
FROM (
SELECT[*|field1{,field2}]
FROMLAYER<nombredelacapa>
)
[ONCONNECTION<Nombreconexin>]
o
CREATETABLENew<NombredelaTabla>
FROM (
SELECTIONFROMLAYER<nombredelacapa>
)
[ONCONNECTION<Nombreconexin>]

P r o y e c t o C r d i t o M i x t o

10|P g i n a


EDITARUNATABLAENUNACONEXINEXISTENTE
Editarunatablapresenteenunaconexindebasededatos
EDIT<Nombretabla>ONCONNECTION<Nombreconexin>
Ejemplo
EDITT_TenenciaONCONNECTIONPostgresPrueba
Al ejecutar esta sentencia se permite desplegar la tabla con todos los campos y modificar
aquellos campos con permisos de edicin. En el ejemplo del grfico siguiente la tabla
T_Tenenciaestapreparadaparasuedicin.

WIDGETHERRAMIENTAQGISSQL
Estecapitulodescribeelusodelabarradeherramientas(NotaAlmomentolosiconosdela
barra de tareas no han sido debidamente escogidos sino tan solo se los ha colocado para
identificar la barra de la aplicacin, para probar la debida ejecucin de los botones. La
personalizacinadecuadadelabarradetareasserrealizadaprximamente).

2 3

1. El primer botn de la izquierda (1), ejecuta la seleccin de un elemento vectorial


(grfico), integrando dicho elemento con la consulta establecida. Eso permite tener
una informacin referente al elemento con la informacin alfanumrica, es decir se
puedeintegrarelelementovectorialcondiferentesconsultasalfanumricas.
2. ElsegundoBotndelaizquierda(2),permitemostraruocultarelrboldeconexiones,
estosirvesiporalgunaraznsecierraelwidgetdeconexiones.Enestecasoelbotn

P r o y e c t o C r d i t o M i x t o

11|P g i n a


restablece dicho widget (si se permite para el usuario, ver seguridad de botones de
configuracin).
3. El tercer botn de la izquierda (3), permite mostrar u ocultar el interpretador de
cdigo.Siporalgunaraznsecierraelwidgetinterpretadorconestebotnsepuede
restablecerdichowidget
4. ElcuartoBotndelaizquierda,permiteverunapequeasintaxis(Ayuda)delusodel
widget.

P r o y e c t o C r d i t o M i x t o

12|P g i n a

MIGRACIONDELACONFIGURACION
Toda la configuracin que se realiza en el plugin QgisSQL, se almacena en el registro de
Windows (ejecutar aplicando inicio ejecutar regedit), en la siguiente direccin:
HKEY_CURRENT_USER\Software\QgisSQL.

Nota Se recomienda realizar una configuracin en una mquina de TI del RIC de todas las
consultasparamigrarlamismaalasmaquinasclientes(ejemplodelaMunicipalidades).
Paraestosedebeexportarelregistrodelasiguienteforma:
ClicbotnderechosobrelacarpetaQgisSQL,seleccionarlaopcinExportar

Enlasiguienteventanaseeligeellugardondesevaaguardarelregistro(porejemploen
una memoria USB para la instalacin en las Municipalidades) asignando el nombre de
archivo(ejemploPluginsQGisSQL.reg).
Enlacomputadoradondeserequieremigrarlaconfiguracindelregistro,yconlasesin
delusuarioquevautilizarelplugin,seejecutadobleclicenelarchivoPluginsQGisSQL.reg
guardadoanteriormenteloquedespliegaelsiguientemensaje(confirmarconSi).

P r o y e c t o C r d i t o M i x t o

13|P g i n a

Seguidamente se despliega un mensaje que indica que el registro ha sido configurado


correctamente(Aceptar).

Deestamaneraunadministradordesistemapuederealizarlaconfiguracindelasconexiones
alasbasesdedatosyconsultasenunasolamquinaymigraratodaslasmaquinasdondese
utilizaraelpluginQgisSQL.

P r o y e c t o C r d i t o M i x t o

14|P g i n a

SEGURIDADENBOTONESDECONFIGURACIN
Esmuyimportantecontarconunaseguridadenlasconfiguracionesdelasconexionesyaque
unusuariosinexperienciapodrasinquererdesconfigurarlasconexionespreestablecidas(y
porendelasconsultasvinculadas).Pordicharaznelpluginpermitehabilitarodeshabilitarlos
botonesdeadicinoeliminacindeconexin.
En el registro del sistema se encuentra una variable llamada Edicion y en la misma se
encuentraunaclavedenominadaChecked,cuandoestaseencuentreenvalortruelosbotones
seencontrarnhabilitados

En el momento que se cambie el valor a false los botones no se vern en el widget de


conexin,comomostradoenelgrficosiguiente
Agregary
eliminar
nuevas
conexiones
deshabilitado
(checked=
false)

Agregary
eliminar
nuevas
conexiones
permitido
(checked=
true)

De esta forma se puede mantener la integridad de las conexiones y contar con la seguridad
queelusuariosinexperiencianoelimineporaccidentelasconexiones.

P r o y e c t o C r d i t o M i x t o

15|P g i n a

DESCARGADELPLUGINSQGSSQL
LosarchivosdelpluginQgisSQLsepuedendescargardelasiguientedireccinWeb:
http://code.google.com/p/girs/downloads/list
ActualmenteestndisponibleslosDLL(Windows)paralasversionesdeQGIS1.6(Copiap)y
QGIS1.7(Wroclaw).TambinseencuentraelpluginparalaversindeLinuxdeQGIS1.6

P r o y e c t o C r d i t o M i x t o

16|P g i n a

CONCLUSIONES
El interpretador de cdigo es el componente principal de QgisSQL. En el mismo se puede
ejecutar algunos tipos de sentencias SQL modificadas y tiles, aparte de algunas otras
sentenciaspropiasdelinterpretador.LaestructurainternadelinterpretadorQgisSQLgozade
ciertacomplejidaddebidoaqueatravsdelmismosedebepoderejecutardiversassentencias
de tipo SQL. Mejorar la calidad del mismo es uno de los mayores objetivos a futuro del
desarrollodelpluginQgisSQL.
Almomentolassintaxisdelinterpretadorespobreycarecedeunabuenaestructura,segnse
avanceeldesarrollodelaaplicacinseesperamejorarlasintaxis.

P r o y e c t o C r d i t o M i x t o

17|P g i n a

También podría gustarte