Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/tutosrive/db-relacionales-2026-1/llms.txt

Use this file to discover all available pages before exploring further.

Esta guía te lleva paso a paso por la configuración de todas las herramientas que necesitas para los talleres de Bases de Datos Relacionales 2026-I. En menos de 15 minutos tendrás un proyecto de PostgreSQL en la nube (Supabase), tu primera tabla creada con SQL real del curso, la calculadora de álgebra relacional RelaX funcionando en el navegador y draw.io listo para construir diagramas EER. Al final encontrarás las instrucciones opcionales para el taller de pgvector con Google Colab.

Configuración del entorno

1

Crea un proyecto gratuito en Supabase

Supabase provee una instancia de PostgreSQL 15 completamente gestionada, accesible desde el navegador sin necesidad de instalar nada localmente.
  1. Ve a supabase.com y haz clic en Start your project.
  2. Regístrate con tu cuenta de GitHub o correo electrónico universitario.
  3. En el dashboard, haz clic en New project.
  4. Completa el formulario:
    • Organization: selecciona tu organización personal o crea una nueva.
    • Project name: usa un nombre descriptivo, por ejemplo bd-relacionales-2026.
    • Database password: elige una contraseña segura y guárdala; la necesitarás para conexiones externas.
    • Region: selecciona la región más cercana (por ejemplo, South America (São Paulo)).
  5. Haz clic en Create new project y espera ~2 minutos mientras Supabase aprovisiona la base de datos.
El plan gratuito de Supabase incluye 500 MB de almacenamiento de base de datos, 2 GB de transferencia mensual y hasta 50.000 filas activas — más que suficiente para todos los talleres del curso.
2

Accede al SQL Editor de Supabase

Una vez creado el proyecto, abre el editor SQL integrado para ejecutar tus scripts directamente contra la base de datos.
  1. En el menú lateral izquierdo del dashboard, haz clic en el ícono de SQL Editor (o navega a Project > SQL Editor).
  2. Haz clic en New query para abrir una pestaña de consulta en blanco.
  3. El editor soporta autocompletado de palabras clave SQL, historial de consultas y descarga de resultados en CSV.
Puedes guardar tus consultas frecuentes como Snippets usando el botón Save en el SQL Editor. Esto es muy útil para los scripts de los talleres: guarda cada archivo .sql del repositorio como un snippet con el nombre del taller correspondiente.
3

Ejecuta tu primer script SQL

Vamos a crear las tablas iniciales del curso directamente desde el SQL Editor. Estos scripts provienen de los archivos reales del repositorio del curso.Comienza con la tabla de práctica más simple del curso, tomada de Practicas/psql/table1.sql:
CREATE TABLE IF NOT EXISTS table1 (
  a VARCHAR(1),
  b VARCHAR(1),
  CONSTRAINT pk_table1 PRIMARY KEY (a)
);

INSERT INTO table1 (a, b)
VALUES ('a', 'b');
Pega el código en el SQL Editor y haz clic en Run (o presiona Ctrl+Enter / Cmd+Enter). Deberías ver el mensaje Success. No rows returned para el CREATE TABLE y 1 row affected para el INSERT.A continuación, crea la tabla de alumnos utilizada en el Taller 3 (Talleres/3-Taller-DML-DDL-Supabase-inicial/psql/alumnos.sql), que ilustra el uso de restricciones PRIMARY KEY y CHECK:
CREATE TABLE IF NOT EXISTS alumnos (
  cedula       VARCHAR(15)  NOT NULL,
  nombre       VARCHAR(50)  NOT NULL,
  apellido     VARCHAR(50)  NOT NULL,
  direccion    VARCHAR(100),
  sexo         VARCHAR(1),
  fecha_nacimiento date
);

ALTER TABLE alumnos
  ADD CONSTRAINT pk_alumno PRIMARY KEY (cedula);

ALTER TABLE alumnos
  ADD CONSTRAINT ck_sexo CHECK (sexo IN ('H', 'M'));
INSERT INTO alumnos (cedula, nombre, apellido, direccion, sexo, fecha_nacimiento)
VALUES
  ('10000001', 'Ana',   'Soto',    'Calle 1 #2-3',   'M', '2005-03-15'),
  ('10000002', 'Pedro', 'Duran',   'Carrera 4 #5-6', 'H', '2004-10-20'),
  ('10000003', 'Carla', 'Mendoza', 'Avenida 7 #8-9', 'M', '2006-01-12');
Verifica que la restricción CHECK funciona intentando insertar un valor inválido para sexo; PostgreSQL debe rechazar la operación:
-- Esto debe fallar con: ERROR: new row for relation "alumnos" violates check constraint "ck_sexo"
INSERT INTO alumnos (cedula, nombre, apellido, sexo)
VALUES ('0000000001', 'Test', 'Error', 'X');
Todos los scripts SQL del curso están disponibles en el repositorio tutosrive/db-relacionales-2026-1. Descarga o clona el repositorio para tener acceso a los archivos completos de cada taller y práctica.
4

Configura RelaX para álgebra relacional

RelaX es una calculadora de álgebra relacional que corre completamente en el navegador. Se usa en los talleres de álgebra relacional del curso para resolver consultas con notación formal (σ, π, ⨝, ρ, etc.) sin necesidad de SQL.
  1. Abre dbis-uibk.github.io/relax/ en tu navegador.
  2. En el panel izquierdo (Group editor) define tus relaciones de prueba. Por ejemplo:
group: Curso BD 2026

alumnos = {
  cedula:string, nombre:string, apellido:string, sexo:string
  '10000001', 'Ana',   'Soto',    'M'
  '10000002', 'Pedro', 'Duran',   'H'
  '10000003', 'Carla', 'Mendoza', 'M'
}

inscripciones = {
  cedula:string, curso:string
  '10000001', 'BD-2026'
  '10000002', 'BD-2026'
}
  1. Haz clic en Execute group para cargar las relaciones.
  2. En el panel de consulta escribe una expresión de álgebra relacional:
π cedula, nombre, apellido (σ sexo = 'M' (alumnos))
  1. Haz clic en Execute para ver el resultado tabulado.
RelaX acepta tanto la notación con símbolos Unicode (σ, π, ⨝) como la notación ASCII equivalente (sigma, pi, join). Usa la barra de herramientas del editor para insertar los símbolos sin necesitar teclado especial.
5

Configura draw.io para diagramas EER

draw.io (también conocido como diagrams.net) es la herramienta oficial del curso para construir los diagramas Entidad-Relación Extendidos (EER) del Taller 1 y los proyectos de referencia.
  1. Abre app.diagrams.net en tu navegador.
  2. Al abrir por primera vez, selecciona dónde guardar tus diagramas:
    • Google Drive: recomendado para sincronización automática.
    • GitHub: ideal si quieres versionar tus diagramas junto con el repositorio del curso.
    • Device: guarda localmente en formato .drawio o .xml.
  3. Haz clic en Create New Diagram y selecciona la plantilla Entity Relationship en la categoría Other.
  4. Familiarízate con las formas EER disponibles en el panel lateral: entidades (rectángulos), atributos (elipses), relaciones (rombos), líneas de participación y símbolos de cardinalidad (notación de pata de cuervo o de Crow’s Foot).
Los diagramas EER de los proyectos de referencia del curso (sistema de casino y sistema EPS) están disponibles en formato .drawio en el repositorio del curso. Puedes abrirlos en draw.io para estudiar su estructura y usarlos como punto de partida para tus propios diseños.
6

(Opcional) Abre Google Colab para el taller de pgvector

El Taller 6 del curso introduce las bases de datos vectoriales usando la extensión pgvector sobre una instancia de PostgreSQL en Neon, orquestada desde un notebook de Python en Google Colab. Este paso es opcional hasta que llegues a ese taller.
  1. Ve a colab.research.google.com e inicia sesión con tu cuenta de Google.
  2. Crea un nuevo notebook (File > New notebook) o abre el notebook del taller desde el repositorio del curso.
  3. Instala las dependencias necesarias en la primera celda del notebook:
pip install psycopg2-binary pgvector sqlalchemy
  1. Configura la cadena de conexión a tu base de datos de Neon (o Supabase):
import os
from sqlalchemy import create_engine, text

# Reemplaza con tu connection string real
DATABASE_URL = "postgresql://usuario:contraseña@host:5432/postgres"

engine = create_engine(DATABASE_URL)

with engine.connect() as conn:
    # Habilitar la extensión pgvector
    conn.execute(text("CREATE EXTENSION IF NOT EXISTS vector"))
    conn.commit()
    print("pgvector habilitado correctamente ✓")
  1. Una vez habilitada la extensión, podrás crear tablas con columnas de tipo vector y ejecutar búsquedas por similitud de coseno:
with engine.connect() as conn:
    conn.execute(text("""
        CREATE TABLE IF NOT EXISTS documentos (
            id      SERIAL PRIMARY KEY,
            titulo  TEXT NOT NULL,
            embedding vector(384)
        )
    """))
    conn.commit()
    print("Tabla 'documentos' creada correctamente ✓")
Nunca escribas tus credenciales de base de datos directamente en el código del notebook si lo vas a compartir. Usa variables de entorno o los Secrets de Google Colab (Tools > Secrets) para almacenar tu DATABASE_URL de forma segura.

Resumen de herramientas y enlaces

Una vez completados los pasos anteriores, tienes todo el entorno listo para el curso. Aquí tienes una referencia rápida de los recursos más utilizados:
HerramientaUso en el cursoEnlace
SupabaseSQL Editor, DDL/DML, Talleres 3 y 4supabase.com
RelaXÁlgebra relacionaldbis-uibk.github.io/relax
draw.ioDiagramas EER, Taller 1app.diagrams.net
Google Colabpgvector, Taller 6colab.research.google.com
Repositorio del cursoTodos los archivos .sql y .drawiogithub.com/tutosrive/db-relacionales-2026-1
Marca esta página como favorita y vuelve a ella al inicio de cada sesión de laboratorio. Si en algún momento pierdes acceso a tu proyecto de Supabase, puedes recrear todas las tablas en minutos ejecutando los scripts del repositorio en orden numérico de taller.

Build docs developers (and LLMs) love