BASES DE DATOS ESPACIALES II: EXPLOTACIÓN Y ANÁLISIS. CATASTRO I Máster en gestión del territorio. Instrumentos y técnicas de intervención
f
SQL AVANZADO. INDEXACIÓN El índice de una base de datos es una estructura de datos que mejora la velocidad de las operaciones de consulta Permitiendo un rápido acceso a los registros de una tabla en una base de datos.
El índice tiene un funcionamiento similar al índice de un libro Elemento central para que las consultas sobre la base de datos se optimicen y sean rápidas
SQL AVANZADO. INDEXACIÓN
Los índices se realizan sobre una columna (simples) o sobre una combinación de columnas (compuestos)
Los índice se suelen realizar sobre las columnas que soportan las consultas. Por ejmeplo, las caves primarias y foráneas (soportan la relación de tablas) o los campos sobre los que se realizan filtros (WHERE)
SQL AVANZADO. INDEXACIÓN
CREATE INDEX nombredelindice ON nombretabla (nombrecampo); CREATE INDEX parcat_parce_u_idx ON parce_u (parcat); CREATE INDEX mancat_parce_u_idx ON parce_u (mancat);
SQL AVANZADO. INDEXACIÓN
Creación de índices espaciales sobre el campo geom (índice sobre los vectores espaciales). CREATE INDEX nombredelindice ON nombre tabla USING gist (geom). CREATE INDEX geom_parce_u_idx ON parce_u USING gist (geom); Construye todos los índices de todas las tablas, seleccionando los campos correspondientes
SQL AVANZADO. JOIN DE TABLAS (RELACIÓN) SELECT a.campo1, b.campo2, ..., a.campoN | b.* FROM nombretabla1 as a INNER JOIN nombretabla2 as b ON a.campo1=b.campo2; Ej.: SELECT a.nininterno, a.parcat, b.mancat, a.area FROM constru_u as a INNER JOIN parce_u as b ON a.parcat=b.parcat; Selecciona todas las construcciones urbanas, sus primary key, la parcela urbana en la que se encuentran, la manzana a la que pertenecen y el área que tienen.
SQL AVANZADO. JOIN DE TABLAS (RELACIÓN) SELECT a.sub_parcat, a.cod_culti, b.cultivo FROM subparce_r as a INNER JOIN cultivo as b ON a.cod_culti=b.cod_culti; Selecciona todas subparcelas rústica, su código de cultivo y el nombre del cultivo SELECT a.refcat, a.agno, b.uso FROM bienin_cat a INNER JOIN uso_bien b ON a.cod_uso=b.cod_uso Selecciona todos los bienes inmuebles, su año y el uso mayoritario asignado
SQL AVANZADO. JOIN DE TABLAS (RELACIÓN) SELECT a.refcat, a.parcat, a.agno, b.area FROM bienin_cat a INNER JOIN parce_u_cat b ON a.parcat=b.parcat WHERE b.area>1000 Selecciona los bienes inmuebles, su año y la parcela urbana en la que se encuentra siempre que el área de la parcela urbana sea mayor a 1000 m2.
SQL AVANZADO. JOIN DE TABLAS (RELACIÓN) SELECT a.parcat, b.area, a.geom FROM parce_u a INNER JOIN parce_u_cat b ON a.parcat=b.parcat WHERE b.area