19.2. Lesson: Utilizando Administrador de BBDD para trabajar con Bases de Datos espaciales en QGIS

Ya hemos visto cómo realizar muchas operaciones de base de datos con QGIS así como con otras herramientas, pero ahora es tiempo de ver la herramienta de Administrador de BBDD que proporciona muchas de las mismas funcionalidades además, más herramientas orientadas a la gestión.

La meta de esta lección: Para aprender cómo interactuar con una base de datos espacial utilizando el Administrador de BBDD de QGIS.

19.2.1. basic Follow Along: Crear una base de datos PostGIS con el Administrador de BBDD

Primero, se debe abrir la interfaz del Administrador de BBDD seleccionando :guilabel:`Base de datos–> Administrador de BBDD –> Administrador de BBDD ` en el menú o seleccionando el icono de Administrador de BBDD sobre la barra de herramientas.

dbManager

You should already see the previous connections we have configured and be able to expand the myPG section and its public schema to see the tables we have worked with in previous sections.

La primer cosa que debe notar es que ahora se pueden ver algunos metadatos acerca de los esquemas contenidos en su base de datos.

../../../_images/db_manager_dialog.png

Los esquemas son una forma de agrupar tablas de datos y otros objetos en una base de datos SQL de Postgre y un contenedor para permisos y otras restricciones. La gestión de esquemas PostgreSQL está más allá del alcance de este manual, pero puede encontrar más información sobre ellos en la Documentación de PostgreSQL en esquemas. Puede usar el Administrador de bases de datos para crear nuevos esquemas, pero necesitará usar una herramienta como pgAdmin III o la interfaz de línea de comandos para administrarlos de manera efectiva.

EL Administrador de BBDD también se puede utilizar para gestionar las tablas de su base de datos. Ya hemos visto varias formas de crear y administrar tablas en la línea de comandos, pero ahora vamos a ver cómo hacer esto en el Administrador de BBDD.

En primer lugar, su utilidad para ver los metadatos de una tabla haciendo clic sobre su nombre en el árbol y sólo ver la pestaña Info.

../../../_images/table_info.png

Este panel se puede ver la información Información General acerca de la tabla así como la información que la extensión PostGIS mantiene sobre la geometría y sistema de referencia espacial.

Si se desplaza hacia abajo en la pestaña Info, se puede ver más información acerca de Campos, Restricciones y Índices para la tabla que esta visualizando.

../../../_images/table_info_fields.png

También es muy útil usar el Administrador de BBDD para simplemente ver los registros en la base de datos de la misma manera que puede hacer esto mediante la visualización de la tabla de atributos de una capa en el árbol de Capas. Se pueden explorar los datos seleccionando la pestaña Tabla

../../../_images/table_panel.png

También hay una pestaña Vista preliminar que le muestra la capa de datos en una vista previa del mapa.

Haga clic derecho sobre una capa en el árbol y haga clic en Añadir a lienzo añadirá esta capa a su mapa.

Hasta ahora sólo hemos visto los esquemas, tablas y sus metadatos de la base de datos, pero lo que si queríamos era modificar la tabla para añadir una columna más, tal vez? El Administrador de BBDD le permite hacer esto directamente.

  1. Seleccione la tabla que desee editar en el árbol

  2. Select Table ‣ Edit Table from the menu, to open the Table Properties dialog.

    ../../../_images/edit_table.png

Se puede utilizar este diálogo para añadir columnas, añadir columnas de geometría, editar columnas existentes o eliminar una columna completamente.

Utilice la pestaña Restricciones, se puede administra que campos se utilizan como clave primaria o para borrar una restricción existente.

../../../_images/constraints_panel.png

La pestaña Índices se puede utilizar para añadir y borrar ambos índices espacial y normal.

../../../_images/indexes_panel.png

19.2.2. basic Follow Along: Crear una nueva tabla

Ahora que hemos pasado por el proceso de trabajar con tablas existentes en nuestra base de datos, vamos a usar el Administrador de BBDD para crear una nueva tabla.

  1. If it is not already open, open the DB Manager window, and expand the tree until you see the list of tables already in your database.

  2. Desde el menú, seleccione Tabla–> Crear Tabla para mostrar el diálogo Crear Tabla.

  3. Use the default Public schema and name the table places.

  4. Add the id, place_name, and elevation fields as shown below

  5. Make sure the id field is set as the primary key.

  6. Click the checkbox to Create geometry column and make sure it is set to a POINT type and leave it named geom and specify 4326 as the SRID.

  7. Haga clic en la casilla Crear índice espacial y haga clic Crear para crear la tabla.

    ../../../_images/create_table.png
  8. Descarte el diálogo que conoce que la tabla fue creada y haga clic en Cerrar para cerrar el diálogo Crear Tabla.

Ahora puede examinar su tabla en el Administrador de BBDD y por supuesto encontrará que no hay datos en él. Desde aquí se puede Conmutar edición sobre el menú Capa e iniciar a añadir sitios a su tabla.

19.2.3. basic Follow Along: Administración de base de datos básica

The DB Manager will also let you do some basic database administration tasks. It is certainly not a substitute for a more complete database administration tool, but it does provide some functionality that you can use to maintain your database.

Las tablas de base de datos a menudo pueden llegar a ser bastante grandes y las tablas que están modificando frecuentemente puede dejar botado al resto de registros que no son necesarios por PostgreSQL. El comando VACUUM se encarga de hacer una especie de recolección de basura para compactar y analizar opcional sus tablas para mejorar el rendimiento.

Let us take a look at how we can perform a VACUUM ANALYZE command from within DB Manager.

  1. Select one of your tables in the DB Manager Tree

  2. Select Table ‣ Run Vacuum Analyze from the menu

PostgreSQL will now perform the operation. Depending on how big your table is, this may take some time to complete.

Puede encontrar más información sobre el proceso VACUUM ANALYZE en la Documentación de PostgreSQL sobre VACUUM ANALYZE.

19.2.4. basic Follow Along: Ejecutar consultas SQL Queries con el Administrador de BBDD

El Administrador de BBDD también proporciona una forma para que pueda escribir consultas en las tablas de base de datos y los resultados a vistas. Ya hemos visto este tipo de funciones en el panel Explorar, pero vamos de nuevo aquí con el Administrador de BBDD.

  1. Select the lines table in the tree.

  2. Seleccione el botón Ventana SQL en la barra de herramientas del Administrador de BBDD.

    ../../../_images/sql_window_btn.png
  3. Componga la siguiente Consulta SQL en el espacio proporcionado:

    select * from lines where roadtype = 'major';
    
  4. Haga clic en el botón Ejecutar (F5) para ejecutar la consulta.

  5. Ahora se debe ver el registro que coinciden en el panel Resultado

    ../../../_images/sql_results.png
  6. Haga clic en la casilla Cargar como nueva capa para añadir el resultado a su mapa.

  7. Select the id column as the Column with unique integer values and the geom column as the Geometry column.

  8. Enter roads_primary as the Layer name (prefix).

  9. Haga clic ¡Cargar ahora! para cargar los resultados como una nueva capa en su mapa.

    ../../../_images/sql_add_to_map.png

La capa que corresponde a su consulta ahora se despliega sobre su mapa. Se puede por supuesto utilizar esta herramienta de consulta para ejecutar cualquier comando SQL arbitrario incluyendo muchos de los que vimos en los módulos y secciones anteriores.

19.2.5. Importar datos en una base de datos con el Administrador de BBDD

Ya hemos visto cómo importar datos en una base de datos espacial utilizando herramientas de línea de comandos, así que ahora aprendamos cómo usar DB Manager para realizar importaciones.

  1. Haga clic en botón Importar capa/archivo en la barra de herramientas en el diálogo del Administrador de BBDD.

    ../../../_images/import_layer_btn.png
  2. Select the urban_33S.shp file from exercise_data/projected_data as the input dataset

  3. Haga clic en el botón Actualizar Opciones para pre-llenar algunos de los valores del formulario.

  4. Asegúrese que la opción Crear nueva tabla esta seleccionada.

  5. Specify the Source SRID as 32722 and the Target SRID as 4326

  6. Habilitar la casilla a Crear índice espacial

  7. Click OK to perform the import

    ../../../_images/import_urban.png
  8. Cerrar el diálogo que sabe que la importación fue exitosa.

  9. Click the Refresh button on the DB Manager Toolbar

You can now inspect the table in your database by clicking on it in the Tree. Verify that the data has been reprojected by checking that the Spatial ref: is listed as WGS 84 (4326).

../../../_images/urban_info.png

Haga clic derecho sobre la tabla en el árbol y una selección Añadir al lienzo se añadirá la tabla como capa en su mapa.

19.2.6. Exportando datos desde una base de datos con el Administrador de BBDD

Por supuesto el Administrador de BBDD también puede ser utilizado para exportar datos desde su base de datos espacial, por lo que vamos a echar un vistazo a cómo se hace.

  1. Select the lines layer in the Tree and click the Export to File button on the toolbar to open the Export to vector file dialog.

  2. Click the button to select the Output file and save the data to your exercise_data directory as urban_4326.

  3. Set the Target SRID as 4326.

  4. Haga clic en Aceptar para inicializar la exportación.

    ../../../_images/export_to_vector.png
  5. Cierre el diálogo que le permite saber que la exportación fue exitosa y cierre el administrador de BBDD.

Ahora se puede examinar el archivo shape que creó con el panel de Explorador.

../../../_images/inspect_vector_output.png

19.2.7. In Conclusion

You have now seen how to use the DB Manager interface in QGIS to manage your spatial databases, to execute SQL queries against your data and how to import and export data.

19.2.8. What’s Next?

Next, we will look at how to use many of these same techniques with SpatiaLite databases.