TEMA 01 | Teoría de bases de datos
- Bases de datos
Definiciones | Ventajas del uso de una base de datos
- Modelos de bases de datos
Base de datos jerárquica | Base de datos en red | Base de datos relacional | Base de datos orientada a objetos.
- Bases de datos relacionales
Terminología de las bases de datos relaciones | Características de las tablas relacionales | Integridad.
- Sistemas de Gestión de Bases de Datos (SGBD).
Funciones que debe cumplir SGBD | Arquitectura de los SGBD.
- Diseño de una Base de Datos
Diseño lógico. Modelo Entidad – Relación | Diseño lógico. Normalización | Diseño físico.
Ejercicios tutorizados: E01. Creación de una base de datos usando la línea de comandos | E02. Diseño lógico y normalización | E03. Creación de modelos E-R | E04. Creación de un modelo E-R e importación a la base de datos en PostgreSQL.
Prácticas de evaluación tutorizadas: P01. Cuestionario: Teoría de Bases de Datos | P02. Diseño del Modelo Entidad – Relación de un Parque Natural.
TEMA 02 | PostgreSQL. Lenguaje SQL
- Lenguaje SQL
Definición | PostgreSQL.
- Tipos de datos en PostgreSQL.
- Clientes de PostgreSQL: psql y pgAdmin
Psql | PgAdmin 4.
- Creación y manipulación de tablas
Creación de una tabla | Modificación de una tabla | Borrado de una tabla.
- Dominios
Creación de un dominio | Modificación de un dominio | Borrado de un dominio.
- Restricciones
Restricción de valor no nulo | Restricción de unicidad | Restricción de clave primaria | Restricción general (CHECK) | Restricción de clave foránea.
- Consultas y manipulación de datos.
Inserción de registros | Borrado de registros | Actualización de registros | Consultas elementales sobre una tabla.
- Secuencias
Creación de una secuencia | Alteración de una secuencia | Borrado de una secuencia.
- Funciones
Funciones agregadas | Funciones de valor.
Ejercicios tutorizados: E01. Creación de tablas y restricciones en PostgreSQL. Inserción de registros en las tablas | E02. Consultas y manipulación de registros.
Prácticas de evaluación tutorizadas: P03. Creación de una base de datos catastral
TEMA 03 | PostgreSQL. Consultas avanzadas de SQL
- Subconsultas
Con el predicado IN | Con los predicados ALL, ANY y SOME | Con el predicado EXISTS | Subconsulta como expresión.
- Consultas entre varias tablas
Operadores conjuntistas: Union, Except e Intersect | Concatenación cruzada (Cross Join) | Concatenación interna (Inner Join) | Concatenación externa (Righ Join, Left Join, Full Join) | Concatenación de más de dos tablas | Cláusula WITH.
- Consulta y manipulación de datos avanzada
Creación de una tabla nueva | Inserción de registros en una tabla ya existente.
- Vistas y vistas materializadas
Vistas | Vistas materializadas.
- Índices.
Ejercicios tutorizados: E01. Subconsultas | E02. Consultas entre varias tablas | E03. Trabajo con una vista.
Prácticas de evaluación tutorizadas: P04. Consulta de datos catastrales.
TEMA 04 | PL/PGSQL: Programación de proyectos almacenados y disparadores
- Definición de proceso almacenado
El lenguaje PL / pgSQL | Estructura de PL / pgSQL | Sintaxis de un procedimiento almacenado en PostgreSQL | Declaración de parámetros | Declaración y asignación de variables | Condicionales | Case | Iteraciones | Retorno de resultados | Uso de sentencias SQL.
- Disparadores
Funciones disparadoras | Creación de un disparador
Ejercicios tutorizados: E01. Creación de funciones y disparadores.
Prácticas de evaluación tutorizadas: P05. Desarrollo de Procesos Almacenados y Disparadores en una Base de Datos Catastral
TEMA 05 | Administración de Bases de Datos
- Administración de usuarios y permisos en PostgreSQL
Creación, alteración y eliminación de roles de usuario | Grupos de roles | Uso de pgAdmin 4.
- Copias de seguridad y migración de una Base de Datos Espacial
Backups mediante volcado. | Backups de todas las bases de datos del servidor. | Uso de pgAdmin 4. | Migración de una base de datos espacial.
- Conexión entre Bases de Datos
Extensión dblink | Extensión Foreign Data Wrapper (FDW).
Ejercicios tutorizados: E01. Creación de usuarios y roles | E02. Creación y restauración de copias de seguridad | E03. Conexión entre bases de datos | E04. Conexión a una base de datos externa mediante FDW.
Prácticas de evaluación tutorizadas: P06. Cuestionario. Administración de Bases de Datos
TEMA 06 | Introducción a los SIG y las Bases de Datos Espaciales
- Introducción a los SIG
La definición de SIG | ¿Para qué sirven los Sistemas de Información Geográfica? | Los componentes básicos de un SIG | Principios generales de los SIG.
- Bases de datos espaciales
¿Qué son las Bases de Datos Espaciales? | Evolución del uso de las Bases de Datos en los SIG.
- Fundamentos de Geodesia y Cartografía. Códigos EPSG
Conceptos básicos de Geodesia | Sistemas de coordenadas | El código EPSG.
Prácticas de evaluación tutorizadas: P07. Cuestionario: Introducción a los SIG y a las bases de datos espaciales
TEMA 07 | Fundamentos de PostGIS y Bases de Datos Espaciales. Integración con QGIS
- Creación de una base de datos espacial
PostGIS | Crear Bases de Datos Espaciales | Creación de una tabla espacial | Metadatos de los atributos de geometría.
- Gestión de geometría en PostGIS
Definición de los formatos WKT y WKB | Geometrías soportadas por PostGIS | Funciones básicas para el manejo de geometría | Diferencias entre el tipo geometry y el tipo geography.
- Importación y exportación de shapefile a PostGIS
Mediante PSQL | Mediante el complemento “PostGIS Shapefile and DBF Loader Exporter”.
- Integración de QGIS y PostGIS para Análisis Espacial.
Conexión a la base de datos desde QGIS | Importación con el complemento DB Manager de QGIS: shapefile y geojson | Importación mediante el comando OGR2OGR: geopackage y KML | Uso del complemento DB Manager de QGIS | Edición de capas desde QGIS | Almacenamiento de simbología de QGIS en PostGIS
- Análisis de Relaciones Espaciales y el Estándar OGC DE-9IM
Definición de Interior, Contorno y Exterior de una geometría. | Matriz DE-9IM | Predicados espaciales | Programa JTS Builder.
- Mejora del rendimiento de las consultas con índices espaciales
Cómo funcionan los Índices Espaciales | Creación y utilización de Índices Espaciales.
Ejercicios tutorizados: E01. Habilitar la extensión PostGIS en nuestra base de datos. Creación de la columna Geometría | E02. Carga de archivos shapefile en PostGIS | E03. Primera consulta espacial. Visualización en QGIS | E04. Creación y carga de datos espaciales desde QGIS | E05. Relaciones espaciales con JTS Builder | E06. Índices espaciales.
Prácticas de evaluación tutorizadas: P08. Carga de los datos cartográficos.
TEMA 08 | PostGIS. Operaciones de análisis espacial
- Descripción de los operadores espaciales
Tipos de geometrías devueltas | Homogeneización de las geometrías devueltas.
- Superposición: Intersección, borrado, superposición, identidad y actualización
Intersección | Borrado | Superposición | Identidad | Actualización.
- Extracción: Recorte y selección
Recorte | Selección.
- Proximidad: Áreas de influencia (buffer) y selección según la distancia
Área de influencia | Selección según distancia.
- Concatenación espacial y adición
Concatenación espacial | Adición.
- Generalización: Disolución y simplificación de geometrías
Disolución | Simplificación de geometrías
- Transformación entre sistemas de referencia
Corrección de un sistema de referencia mal asignado.
- Conversiones geométricas
Conversiones entre multigeometrías y geometrías simples | Conversión entre tipos de geometrías.
Ejercicios tutorizados: E01. Operadores espaciales con JTS Builder | E02. Operaciones de superposición | E03. Operación de recorte | E04. Operaciones de proximidad | E05. Operaciones de concatenación espacial y adición | E06. Operaciones de generalización | E07. Reproyección de una capa | E08. Corrección de un Sistema de Referencia mal definido | E09. Conversiones entre geometrías | E10 Análisis de ubicación de una nueva tienda.
Prácticas de evaluación tutorizadas: P09. Obtención de incidencias catastrales.
TEMA 09 | PostGIS Ráster
- Extensión ráster.
- Tipo ráster: conceptos y propiedades.
- Importación de ficheros ráster
- Funciones ráster
Funciones de acceso a las propiedades del ráster | Funciones sobre bandas ráster | Funciones estadísticas sobre bandas | Funciones de valores de celdas | Funciones de coordenadas | Funciones de vectorización y rasterización | Funciones de relación espacial.
Ejercicios tutorizados: E01. Procesamiento de datos ráster en PostGIS.
Prácticas de evaluación tutorizadas: P10. PostGIS Raster.
TEMA 10 | Introducción a pgRouting
- ¿Qué es pgRouting?
- Conceptos básicos de enrutamiento
.Red, grafo y topología | Estructura arco-nodo | Definición de coste. Grafos ponderados y no ponderados | Grafos directos e indirectos | Funciones de pgRouting
- Creación de una Base de Datos para el cálculo de rutas óptimas
Importación de datos vectoriales a la base de datos | Establecimiento de la topología de redes | Importación de archivos shapefile | Importación de datos desde Open Street Map. Uso de OSM2PO
- Cálculo de caminos más cortos
Definición de coste y sentido de la circulación | Función Dijkstra | Función A* (A Star) | Turn Restricted Shortest Path
- Obtención de múltiples rutas. Algoritmo pgr_ksp
- Definición de rutas con puntos de interés ajenos a la red
Definición de los puntos. Función pgr_findCloseEdges | Rutas a través de estos puntos de interés. Función pgr_withPoints
- Obtención de rutas entre varios puntos
Traveling Salesman Problem | Recorrido entre puntos en un orden preestablecido: pgr_dijstraVia y pgr_withPointsVia
- Notificación de una red no topológica
Detección de errores topológicos | Corrección de errores topológicos
Ejercicios tutorizados: E01. Análisis de rutas óptimas en Alicante
Prácticas de evaluación tutorizadas: P11. Planificación de rutas turísticas y de transporte urbano