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.
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.
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 PK | nombre | sector | fundado | id_barrio FK |
|---|---|---|---|---|
| 1 | IE Técnico Central | oficial | 1962 | 1 |
| 2 | Colegio Santa Lucía | oficial | 1978 | 4 |
| 9 | Colegio Nuevo Horizonte | privado | 2024 | NULL |
colegios. Toque una fila, un encabezado, la llave primaria o la llave foránea.Tipos de dato más usados
| Tipo | Para qué | PostgreSQL | Oracle |
|---|---|---|---|
| Entero | Conteos, códigos, años | integer, bigint | NUMBER(10) |
| Decimal | Áreas, dinero, medidas | numeric(10,2), real | NUMBER(10,2) |
| Texto | Nombres, descripciones | varchar(60), text | VARCHAR2(60) |
| Fecha | Fechas y horas | date, timestamp | DATE, TIMESTAMP |
| Lógico | Sí / no | boolean | NUMBER(1) o CHAR(1) (BOOLEAN desde 23ai) |
| Geometría | Forma 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.
¿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
"Cada colegio está en un barrio y tiene docentes y estudiantes".
Del colegio interesa el nombre, el sector y el año de fundación.
"está en", "trabaja en", "estudia en", "vive en". Para cada una: ¿uno o muchos de cada lado?
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.
Si Centro sube a estrato 4, hay que cambiar varias filas. Si se olvida una, la base queda contradictoria.
No se puede registrar un barrio nuevo hasta que tenga un colegio y un docente.
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.