Está en la página 1de 92

INTRODUCCION A LAS BASE DE DATOS

GEOESPACIALES

COR FAP Joe Valdivia Lira


CONSIDERACIONES BASICAS

COR FAP Joe Valdivia Lira


QUE ES UNA BASE DE DATOS ?

• Una base de datos es un “almacén” que nos permite guardar grandes


cantidades de información de forma organizada para que luego podamos
encontrarLA y utilizar fácilmente.

COR FAP Joe Valdivia Lira


POR QUE LA NECESIDAD DE UNA
BASE DE DATOS ?

• Hay varias razones por las cuales es necesario


tener una base de datos. Aquí te presento algunas
de ellas:

• Organización y almacenamiento de información:


las bases de datos permiten almacenar grandes
cantidades de información de forma organizada,
estructurada y fácilmente accesible. La
información se puede guardar en tablas que
relacionan los datos de forma lógica, lo que facilita
su consulta y análisis.
• Acceso concurrente y control de accesos: en una
base de datos, múltiples usuarios pueden acceder
y modificar la información al mismo tiempo, lo que
permite un trabajo colaborativo en un mismo
conjunto de datos. Además, se puede controlar el
acceso de los usuarios a determinadas partes de la
información, lo que garantiza la privacidad y
seguridad de la información.

COR FAP Joe Valdivia Lira


POR QUE LA NECESIDAD DE UNA
BASE DE DATOS ?

• Eficiencia en el procesamiento de información: las bases


de datos están diseñadas para procesar grandes
cantidades de información de manera eficiente, lo que
reduce el tiempo de respuesta y mejora la eficiencia del
sistema.

• Integridad y consistencia de los datos: las bases de datos


incluyen mecanismos de validación y restricciones que
garantizan que los datos almacenados sean coherentes,
precisos y completos. Por ejemplo, se pueden definir
restricciones de integridad referencial que aseguren que
las relaciones entre las tablas se mantengan en todo
momento.

• Facilitan la toma de decisiones: los sistemas de gestión


de bases de datos permiten la extracción de información
relevante de grandes conjuntos de datos, lo que facilita
la toma de decisiones y el análisis de tendencias y
patrones. Por ejemplo, se pueden realizar consultas para
obtener estadísticas, tendencias y relaciones entre los
datos almacenados.
COR FAP Joe Valdivia Lira
CARACTERISTICAS

• Independencia lógica y física de los datos.


• Redundancia mínima.
• Acceso concurrente por parte de múltiples usuarios.
• Integridad de los datos.
• Consultas complejas optimizadas.
• Seguridad de acceso y auditoría.
• Respaldo y recuperación.
• Acceso a través de lenguajes de programación estándar.

COR FAP Joe Valdivia Lira


CUALES SON LAS PARTES DE UNA BASE DE
DATOS?

Schema

TABLA 1 TABLA 2

procedimientos funciones

Vistas Entre otros


materializadas

COR FAP Joe Valdivia Lira


CONJUNTO DE TABLAS EN UNA BASE DE
DATOS

• Cada base de datos se compone de


una o más tablas que guarda un
conjunto de datos. Cada tabla tiene
una o más columnas y filas.
• Las columnas guardan una parte de
la información sobre cada elemento
que queramos guardar en la tabla,
cada fila de la tabla conforma un
registro

COR FAP Joe Valdivia Lira


COMPARTIR DATOS:

• En los sistemas de ficheros, los ficheros pertenecen a las personas o a los


departamentos que los utilizan.
• Pero en los sistemas de bases de datos, la base de datos pertenece a la
empresa y puede ser compartida por todos los usuarios que estén
autorizados.

COR FAP Joe Valdivia Lira


CREANDO TABLAS EN POSTGRESQL

Utilizamos el comando sql CREATE TABLE


con la siguiente sintaxis:

CREATE TABLE nombre_tabla (


nombre_columna1 tipo_dato1,
nombre_columna2 tipo_dato2,
...
nombre_columnaN tipo_datoN
);

En este caso la tabla no tiene identificador primario o Primary Key

COR FAP Joe Valdivia Lira


METACOMANDOS psql

La interfaz de PostgreSQL es compatible con los siguientes metacomandos psql;

Comando Descripción
\d Enumerar las tablas o las describe

\d nombre_tabla Enumera las columnas de la tabla

\dt nombre_tabla Tabla de lista detallada

\l Listado de todas las bases de datos (schemas)

COR FAP Joe Valdivia Lira


Sistema de Gestión de Base de Datos
(SGBD)
• Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management
System) son un tipo de software muy específico,
• Dedicado a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan.
• Se compone de un lenguaje de definición de datos, de un lenguaje de
manipulación de datos y de un lenguaje de consulta.

COR FAP Joe Valdivia Lira


CONTROL SOBRE LA REDUNDANCIA DE
DATOS:

• Los sistemas de ficheros almacenan varias copias de los mismos datos en


ficheros distintos. Esto hace que se desperdicie espacio de
almacenamiento, además de provocar la falta de consistencia de datos.

• En los sistemas de bases de datos todos estos ficheros están integrados,


por lo que no se almacenan varias copias de los mismos datos.
• Sin embargo, en una base de datos no se puede eliminar la redundancia
completamente, ya que en ocasiones es necesaria para modelar las
relaciones entre los datos.

COR FAP Joe Valdivia Lira


MEJORA EN LA INTEGRIDAD DE DATOS:

• La integridad de la base de datos se


refiere a la validez y la consistencia
de los datos almacenados.
• Normalmente, la integridad se
expresa mediante restricciones o
reglas que no se pueden violar.
• Estas restricciones se pueden aplicar
tanto a los datos, como a sus
relaciones, y es el SGBD quien se
debe encargar de mantenerlas..

COR FAP Joe Valdivia Lira


CONSISTENCIA DE DATOS:

• Eliminando o controlando las redundancias de datos se reduce en gran


medida el riesgo de que haya inconsistencias.
• Si un dato está almacenado una sola vez, cualquier actualización se debe
realizar sólo una vez, y está disponible para todos los usuarios
inmediatamente.
• Si un dato está duplicado y el sistema conoce esta redundancia, el propio
sistema puede encargarse de garantizar que todas las copias se mantienen
consistentes

COR FAP Joe Valdivia Lira


MEJORA EN LA SEGURIDAD:

• La seguridad de la base de datos es la protección de la base de datos


frente a usuarios no autorizados.
• Sin unas buenas medidas de seguridad, la integración de datos en los
sistemas de bases de datos hace que éstos sean más vulnerables que en
los sistemas de ficheros.

COR FAP Joe Valdivia Lira


MEJORA EN LA ACCESIBILIDAD A LOS
DATOS:

• Muchos SGBD proporcionan lenguajes de consultas o generadores de


informes que permiten al usuario hacer cualquier tipo de consulta sobre
los datos, sin que sea necesario que un programador escriba una
aplicación que realice tal tarea.

COR FAP Joe Valdivia Lira


MEJORA EN LA PRODUCTIVIDAD:

• El SGBD proporciona muchas de las funciones estándar que el


programador necesita escribir en un sistema de ficheros.
• A nivel básico, el SGBD proporciona todas las rutinas de manejo de
ficheros típicas de los programas de aplicación.

• El hecho de disponer de estas funciones permite al programador centrarse


mejor en la función específica requerida por los usuarios, sin tener que
preocuparse de los detalles de implementación de bajo nivel.

COR FAP Joe Valdivia Lira


MEJORA EN EL MANTENIMIENTO:

• En los sistemas de ficheros, las descripciones de los datos se encuentran


inmersas en los programas de aplicación que los manejan.

• Esto hace que los programas sean dependientes de los datos, de modo
que un cambio en su estructura, o un cambio en el modo en que se
almacena en disco, requiere cambios importantes en los programas cuyos
datos se ven afectados.

• Sin embargo, los SGBD separan las descripciones de los datos de las
aplicaciones. Esto es lo que se conoce como independencia de datos,
gracias a la cual se simplifica el mantenimiento de las aplicaciones que
acceden a la base de datos.

COR FAP Joe Valdivia Lira


AUMENTO DE LA CONCURRENCIA:

• En algunos sistemas de ficheros, si hay varios usuarios que pueden


acceder simultáneamente a un mismo fichero, es posible que el acceso
interfiera entre ellos de modo que se pierda información o se pierda la
integridad.
• La mayoría de los SGBD gestionan el acceso concurrente a la base de
datos y garantizan que no ocurran problemas de este tipo.

COR FAP Joe Valdivia Lira


MEJORA EN LOS SERVICIOS DE COPIAS DE
SEGURIDAD:

• Muchos sistemas de ficheros dejan que sea


el usuario quien proporcione las medidas
necesarias para proteger los datos ante fallos
en el sistema o en las aplicaciones.

• Sin embargo, los SGBD actuales funcionan de


modo que se minimiza la cantidad de trabajo
perdido cuando se produce un fallo.

COR FAP Joe Valdivia Lira


QUE ES UNA BASE DE DATOS ESPACIAL

Base de datos que:


• Almacena objetos espaciales
• Manipula objetos espaciales como otros objetos en la base de datos.
• Datos que describen la ubicación o forma

por ejemplo, la ubicación de la casa o boca de incendios


Carreteras, Ríos, Tuberías, Líneas eléctricas
Bosques, Parques, Municipios, Lagos

COR FAP Joe Valdivia Lira


BASE DE DATOS POSTGRESQL

o PostgreSQL es un sistema de gestión de bases de datos relacionales de código abierto. Se


destaca por ser altamente escalable, fiable y seguro, y es utilizado en una amplia variedad de
aplicaciones, desde pequeñas bases de datos locales hasta grandes sistemas de bases de
datos empresariales.

o Algunas de las características que destacan en PostgreSQL son:

• Soporte para múltiples lenguajes de programación, incluyendo C, Python, Java, y Ruby,


entre otros.
• Soporte para transacciones ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad),
lo que asegura que las operaciones sean consistentes y seguras.
• Capacidad de crear índices avanzados para acelerar consultas complejas.
• Soporte para replicación y clustering para alta disponibilidad y escalabilidad.
• Funciones avanzadas de seguridad, incluyendo autenticación de usuarios y encriptación
de datos.

COR FAP Joe Valdivia Lira


INSTALACIÓN DE POSTGRESQL

Dirección de descarga:
https://www.enterprisedb.com/postgresql-tutorial-resources-training?uuid=4726a163-a071-4af4-8395-
6d239c34d4a1&campaignId=7012J000001h3GiQAI

o Este instalador incluye el servidor PostgreSQL, pgAdmin; una


herramienta gráfica para administrar y desarrollar sus bases de
datos y StackBuilder; un administrador de paquetes que se puede
utilizar para descargar e instalar herramientas y controladores
PostgreSQL adicionales. Stackbuilder incluye administración,
integración, migración, replicación, geoespacial, conectores y otras
herramientas.

o Este instalador puede ejecutarse en modo de instalación gráfica o


silenciosa.

COR FAP Joe Valdivia Lira


Pagina de descarga del software

COR FAP Joe Valdivia Lira


Instalación del ejecutable

COR FAP Joe Valdivia Lira


Instalación del ejecutable

COR FAP Joe Valdivia Lira


Directorio de datos

COR FAP Joe Valdivia Lira


Componentes a instalar

COR FAP Joe Valdivia Lira


Configuracion Passwrod

COR FAP Joe Valdivia Lira


Configuración del Puerto

Este el puerto donde se atenderán las peticiones de


otros usuarios

COR FAP Joe Valdivia Lira


Configuración Regional

COR FAP Joe Valdivia Lira


Resumen de Instalación

COR FAP Joe Valdivia Lira


Stack Builder

Lo usamos para complementar otros componentes


en la instalación

COR FAP Joe Valdivia Lira


Administración con PGAdmin

Al momento de ingresar nos pide 2 password:


o Password del master: admin2023
o Password usuario postgres: admin2023 (colocados
al inicio de la instalación)

COR FAP Joe Valdivia Lira


Conectandonos a la Base de Datos

COR FAP Joe Valdivia Lira


Consola de Administración de la Base
de Datos

COR FAP Joe Valdivia Lira


Uso del sql shell

COR FAP Joe Valdivia Lira


Conectandonos a la BD Postgresql con
el script chell

Localhost´= localhost
Port = 5432
User= postgres
Password= (registrado al momento de la
instalación)

COR FAP Joe Valdivia Lira


Consultando las BD disponibles en Postgresql

postgres=# \l El comando l debe estar pegado al símbolo de prompt

COR FAP Joe Valdivia Lira


Seleccionando una base de datos disponibles en
Postgresql
o El comando nos permite empezar a trabajar con la base de
postgres=# use postgres datos postgres
o El prompt cambia de postgres=# a postgres-#

COR FAP Joe Valdivia Lira


Creando nuestros primeros objetos en la Base de
Datos Postgresql

Creando una tabla:


CREATE TABLE alumnos (
dni integer,
nombre TEXT,
email TEXT,
fecha_registro DATE );

o Esta es una tabla que almacenara la información de los alumnos


o Por ahora no le hemos creado una llave primaria que servirá como un constraint.

CREATE TABLE alumnos (


dni integer PRIMARY KEY,
nombre TEXT,
email TEXT,
fecha_registro DATE );

o Esta es una tabla que almacenara la información de los alumnos


o Le hemos creado una llave primaria que servirá como un constraint (significa que no
podremos registrar dos alumnos con el mismo dni)

COR FAP Joe Valdivia Lira


Creando nuestra tabla usando PgAdmin
Usando QueryTool

Herramienta QueryTool:

Hacemos click derecho sobre las


tablas:
Seleccionamos Query Tool

COR FAP Joe Valdivia Lira


Creando nuestra tabla usando PgAdmin

Herramienta QueryTool:

COR FAP Joe Valdivia Lira


Ingresando algunos registros a nuestras tablas

Para ingresar registros a nuestras tablas usamos el comando insert


Es reomendable antes de hacer la inserción de filas confirmar la estructura de la
tabla para ver el tipo de dato que debemos insertar
postgres-# \d alumnos

Tabla ½public.alumnos╗
Columna | Tipo | Ordenamiento | Nulable | Por omisi¾n
----------------+---------+--------------+---------+-------------
id | integer | | |
nombre | text | | |
email | text | | |
fecha_registro | date | | |

Ahora aplicamos la instrucción insert

insert into alumnos (dni, nombre, email, fecha_registro)


values (10,'Javier1','javier@fap.mil.pe',24/02/2023)

COR FAP Joe Valdivia Lira


Como se estructura la inserción de registros ?

Para ingresar registros a nuestras tablas usamos el comando insert

1 Le decimos que vamos a insertar en la tabla alumnos

insert into alumnos (dni, nombre, email, fecha_registro)

values (10,'Javier1','javier@fap.mil.pe',24/02/2023)

3 Usamos la 2 Le señalamos los campos de la tabla que queremos


instrucción insertar
values

4 Insertamos los valores separados por comas:


o Los enteros van solos
o Los campos tipo textos van con comilla dimples
o Los campos Date de escriben sin comilla pero con
el formato fecha ejemplo: 24/02/2023

COR FAP Joe Valdivia Lira


Que tipos de datos puedo utilizar en Potsgresql?

Tipos numéricos:
o INTEGER: es un tipo de dato para números enteros que pueden ser positivos o negativos.
Este tipo de dato es muy común para utilizar en claves primarias y en columnas que
almacenen cantidades enteras.

o BIGINT: es similar al tipo de dato INTEGER, pero con un rango de valores mayor. Se
utiliza para almacenar números enteros grandes, que pueden llegar a tener hasta 18
dígitos.

o NUMERIC: es un tipo de dato para números decimales de precisión arbitraria. Este tipo de
dato es útil para almacenar cantidades precisas de dinero o medidas, ya que no se pierde
precisión en los cálculos.

o DOUBLE PRECISION: es un tipo de dato para números decimales de doble precisión.


Este tipo de dato es más rápido que el NUMERIC, pero tiene menos precisión.

o REAL: es un tipo de dato para números decimales de precisión simple. Es más rápido que
el DOUBLE PRECISION, pero también tiene menos precisión.

o A continuación, te muestro cómo crear una tabla utilizando algunos de estos tipos de
datos:

COR FAP Joe Valdivia Lira


Que tipos de datos puedo utilizar en Potsgresql?

Ejemplo de tipos numéricos:

CREATE TABLE mi_tabla (


id INTEGER PRIMARY KEY,
cantidad BIGINT,
precio NUMERIC(10,2),
descuento DOUBLE PRECISION,
peso REAL
);

En este ejemplo:
o la tabla "mi_tabla" tiene cinco columnas: "id" de tipo INTEGER, "cantidad" de tipo
BIGINT, "precio" de tipo NUMERIC con una precisión de 10 dígitos y 2 decimales,
"descuento" de tipo DOUBLE PRECISION y "peso" de tipo REAL.

COR FAP Joe Valdivia Lira


Que es una base de datos espacial

o Una Base de Datos Espacial permite el almacenamiento de las


geometrías de un archivo cartográfico dentro de una base de datos,
de modo que podamos almacenar y analizar estos datos de un
modo más eficiente gracias al lenguaje SQL que con el tradicional
formato shapefile.

COR FAP Joe Valdivia Lira


POSTGIS

PostGIS es OGC Compliant; es decir, sigue las normas que marca el Open
Geospatial Consortium*. Estas normas están definidas en la primera y
segunda parte del documento OpenGIS Implementation Specification for
Geographic
Information

COR FAP Joe Valdivia Lira


INSTALACION DE POSTGIS

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

COR FAP Joe Valdivia Lira


INSTALACION DE POSTGIS

Instalamos PostGIS en nuestro Home


directorio

Es el directorio donde se instalo la base


de datos Postgres

COR FAP Joe Valdivia Lira


INSTALACION DE POSTGIS

COR FAP Joe Valdivia Lira


INSTALACION DE POSTGIS

COR FAP Joe Valdivia Lira


CREACION DE UNA BASE DE DATOS CON POSTGIS

COR FAP Joe Valdivia Lira


Interfaz GUI de PgAdmin 4

COR FAP Joe Valdivia Lira


INGRESO A LA CONSOLA

Este es el password del super user : postgres

COR FAP Joe Valdivia Lira


VISUALIZACION DE LA CONSOLA

COR FAP Joe Valdivia Lira


VISUALIZACION DE LA CONSOLA

COR FAP Joe Valdivia Lira


CREACION DE UNA NUEVA BASE DE DATOS

COR FAP Joe Valdivia Lira


CREACION DE UNA NUEVA BASE DE DATOS
gis4dev

COR FAP Joe Valdivia Lira


Base de Datos gis4dev creada

COR FAP Joe Valdivia Lira


Base de Datos gis4dev creada

COR FAP Joe Valdivia Lira


Creamos la extensión para PostGIS

COR FAP Joe Valdivia Lira


Creamos la extensión para PostGIS

COR FAP Joe Valdivia Lira


Creamos la extensión para PostGIS

COR FAP Joe Valdivia Lira


Verificacmos la extensión para PostGIS

Se crea la extensión postgis en


nuestra base de datos gis4dev

COR FAP Joe Valdivia Lira


Schema con Tablas de Referencia Spatial

Al ver estas tablas, significa que


nuestra base de datos soporta
GIS

Podemos importar shapefile a


esta BD

Podemos usar funciones spatial

COR FAP Joe Valdivia Lira


CARGANDO NUESTROS DATOS

COR FAP Joe Valdivia Lira


CREACION DE UNA BASE DE DATOS DE
ENTRENAMIENTO

COR FAP Joe Valdivia Lira


CREACION DE UNA BASE DE DATOS DE
ENTRENAMIENTO

Observamos que aun no tenemos


funciones, todavía no podemos hacer que
trabajen tipos de datos spatial

COR FAP Joe Valdivia Lira


ABRIMOS UNA VENTANA DE QUERY

COR FAP Joe Valdivia Lira


CREAMOS EXTENSIONES POSTGIS POR SQL

USAMO CREATE EXTENSION

Ahora si aparecen funciones tipo spatial

COR FAP Joe Valdivia Lira


INTRODUCCION A SQL

COR FAP Joe Valdivia Lira


QUE ES SQL ?

• Structured Query Language (SQL) es el lenguaje mas popular de


computadora usado para crear, modificar y consultar bases de
datos.
• SQL es un lenguaje de consulta estándar de la industria, usado
para recuperar registros desde tablas y presentar estos registros
con los campos deseados

COR FAP Joe Valdivia Lira


POR QUE SQL ?

• Structured Query Language (SQL) esta diseñado para un


especifico, propósito limitado.
• Consultar datos contenidos en una base de datos relacional
• Son diseñado para resolver un conjunto mas amplio de
problemas

COR FAP Joe Valdivia Lira


INTRODUCCION A SQL

¿y si espacial fuera solo otro tipo de datos?

• Solo data en una table en la forma de geometry


• Si yo puede adcionar dos números, yo puedo intersectar dos geometrías
• Si yo puedo trim un string de unos pocos caracteres, I puedo clipuna
geometría con otra geometría
• Si yo puedo encontrar una fecha entre otras fechas,Yo pudeo encontrar
una geometría cubierta por otra geometria

SELECT ST_AsText(geometry)
FROM hydro

COR FAP Joe Valdivia Lira


INTRODUCCION A SQL

Por que esta clase ?

• SQL es percibido como difícil:


• SQL es fácil
• SQL es poderoso

SELECT ST_AsText(geometry)
FROM hydro

COR FAP Joe Valdivia Lira


SPATIAL SQL

• Spatial SQL procesa, aprovecha y realiza operaciones


espaciales en datos espaciales.
• Una base de datos espacial está optimizada para almacenar,
manipular y consultar datos geográficos con geometrías
definidas

COR FAP Joe Valdivia Lira


CREANDO UNA BASE DE DATOS DE
RENTAL DVD

Hacemos un restore del archivo tar que tenemos


en el directorio de trabajo

COR FAP Joe Valdivia Lira


CREANDO UNA BASE DE DATOS DE
RENTAL DVD

Hacemos un restore del archivo tar que tenemos


en el directorio de trabajo
COR FAP Joe Valdivia Lira
IMPORTACION DE TABLAS

Luego del restore las tablas del sistema han sido


importadas

COR FAP Joe Valdivia Lira


DIAGRAMA ENTIDAD RELACION ER

Se muestran las tablas y las relaciones entre ellas

COR FAP Joe Valdivia Lira


DIAGRAMA ENTIDAD RELACION ER

Se muestran las tablas y las relaciones entre ellas

COR FAP Joe Valdivia Lira


EXAMINANDO TABLAS

Examinamos la tabla actor

COR FAP Joe Valdivia Lira


CONSULTAS BASICAS SOBRE LAS TABLAS

COR FAP Joe Valdivia Lira


CONSULTA CON LA CONSOLA SHELL
CONSULTAS DE MULTIPLES TABLAS

Utilizamos la clausula INNER JOIN

• Consultamos las tablas film_actor y actor


• Ambas tablas tienen la columna actor_id
COR FAP Joe Valdivia Lira
CONSULTA UTILIZANDO QUERY DE PGADMIN

COR FAP Joe Valdivia Lira


VIENDO LOS REGISTROS DE LA TABLA
FACILMENTE

COR FAP Joe Valdivia Lira


GEOMETRIAS

COR FAP Joe Valdivia Lira

También podría gustarte