Bases de Datos Espaciales · Sesión 1

Repaso: modelado de datos y SQL

Antes de guardar geometrías hay que dominar lo básico: cómo se organizan los datos en tablas, cómo se relacionan y cómo se consultan con SQL.

Guía de la sesión (3 horas)

Esta sesión nivela al grupo. Todo se practica en la consola de esta misma página, sin instalar nada.

0:00 – 0:15
Presentación del curso: qué es una base de datos espacial y cómo se evalúa.
0:15 – 0:45
Conceptos: base de datos, SGBD, tabla, fila, columna, tipos de dato, llaves primaria y foránea.
0:45 – 1:15
Modelo entidad-relación del municipio y su paso a tablas. Normalización con el ejemplo de la planilla.
1:15 – 1:30
Descanso.
1:30 – 2:15
SQL guiado en la consola: SELECT, WHERE, ORDER BY, agregados, GROUP BY, JOIN, LEFT JOIN, INSERT, UPDATE y DELETE. Usar los botones de ejemplos.
2:15 – 2:50
Ejercicios con verificación automática. Los de modelado se discuten en grupos.
2:50 – 3:00
Autoevaluación y cierre: la próxima sesión, dónde entran las coordenadas.

El caso del curso

Todas las sesiones trabajan sobre el mismo municipio ficticio, San Isidro de la Sabana, con barrios, colegios, vías, ríos, parques, centros de salud y zonas de riesgo.

Hoy se usa sin coordenadas: solo los datos descriptivos. Desde la sesión 3 cada objeto tendrá también su forma y su ubicación.

La consola usa SQLite, un motor que corre dentro del navegador. Para lo que se ve hoy, la sintaxis es la misma de PostgreSQL. El botón Descargar script de la consola entrega la misma base para cargarla en PostgreSQL.

Conceptos básicos

Haga clic en cada término para ver su explicación con el ejemplo del municipio.

Una tabla, por partes

Pase el cursor o toque cada parte de la tabla.

id PKnombresectorfundadoid_barrio FK
1IE Técnico Centraloficial19621
2Colegio Santa Lucíaoficial19784
9Colegio Nuevo Horizonteprivado2024NULL
Tabla colegios. Toque una fila, un encabezado, la llave primaria o la llave foránea.

Tipos de dato más usados

TipoPara quéPostgreSQLOracle
EnteroConteos, códigos, añosinteger, bigintNUMBER(10)
DecimalÁreas, dinero, medidasnumeric(10,2), realNUMBER(10,2)
TextoNombres, descripcionesvarchar(60), textVARCHAR2(60)
FechaFechas y horasdate, timestampDATE, TIMESTAMP
LógicoSí / nobooleanNUMBER(1) o CHAR(1) (BOOLEAN desde 23ai)
GeometríaForma y ubicación (desde la sesión 3)geometry (PostGIS)SDO_GEOMETRY

Modelo entidad-relación del municipio

Las cajas son entidades (cosas de las que se guarda información) y las líneas son relaciones. Haga clic en una caja o en una línea.

PK: llave primariaFK: llave foránea1 —— N: uno a muchos

¿Cómo se lee?

Un barrio tiene muchos colegios; cada colegio está en un solo barrio. Eso es una relación 1 a N.

En tablas, la relación se guarda con una llave foránea en el lado "N": la columna id_barrio de la tabla colegios.

Del enunciado al modelo, paso a paso

1. Sustantivos → entidades

"Cada colegio está en un barrio y tiene docentes y estudiantes".

2. Características → atributos

Del colegio interesa el nombre, el sector y el año de fundación.

3. Verbos → relaciones

"está en", "trabaja en", "estudia en", "vive en". Para cada una: ¿uno o muchos de cada lado?

4. Paso a tablas

Cada entidad es una tabla con su PK. Cada relación 1:N es una FK en el lado N. Cada N:M es una tabla intermedia.

Normalización: no repetir datos

Normalizar es dividir una tabla grande en varias más pequeñas para que cada dato se guarde una sola vez. Cambie de vista con los botones.

Anomalía de actualización

Si Centro sube a estrato 4, hay que cambiar varias filas. Si se olvida una, la base queda contradictoria.

Anomalía de inserción

No se puede registrar un barrio nuevo hasta que tenga un colegio y un docente.

Anomalía de borrado

Si se borra el único docente de Los Pinos, se pierde también el estrato del barrio.

Consola SQL

Escriba una consulta y ejecútela con el botón o con Ctrl + Enter. Si modifica datos y se pierde, use Reiniciar base.

Cargando la base…

Toque una columna para agregarla al editor.

Ejercicios de SQL

Escriba su consulta en cada ejercicio y pulse Verificar: se compara su resultado con el de la solución. Cada ejercicio usa una copia limpia de la base.

Ejercicios de modelado

Para trabajar en grupos y discutir. La solución es una propuesta: puede haber otras válidas.

Autoevaluación