Aprende a crear tablas y funciones en PostgreSQL con un ejemplo práctico: claves, relaciones, consultas y funciones reutilizables para automatizar lógica en la base de datos.
Tablas y funciones en PostgreSQL: ejemplo práctico

Cuando trabajas con PostgreSQL no solo creas tablas: también defines relaciones, restricciones y, si el caso lo pide, funciones para encapsular lógica que se repetirá en consultas.

1) Modelo relacional y claves

En un esquema típico tendrás:

  • Clave primaria (PK): identifica de forma única una fila.
  • Clave foránea (FK): conecta tablas y garantiza integridad referencial.
  • Restricciones: NOT NULL, UNIQUE, CHECK

2) Crear tablas (ejemplo)

Ejemplo simple (adaptable a tu práctica):

CREATE TABLE deportes (
  id_deporte SERIAL PRIMARY KEY,
  nombre VARCHAR(60) NOT NULL UNIQUE
);

CREATE TABLE deportistas (
  id_deportista SERIAL PRIMARY KEY,
  nombre VARCHAR(60) NOT NULL,
  id_deporte INT REFERENCES deportes(id_deporte)
);

3) Consultas con JOIN

SELECT d.nombre AS deporte, dp.nombre AS deportista
FROM deportes d
LEFT JOIN deportistas dp ON dp.id_deporte = d.id_deporte
ORDER BY d.nombre;

4) Funciones en PostgreSQL

Una función te permite reutilizar consultas o lógica. Ejemplo conceptual:

CREATE OR REPLACE FUNCTION get_deportistas(p_id_deporte INT)
RETURNS TABLE(id_deportista INT, nombre VARCHAR)
LANGUAGE sql
AS $$
  SELECT id_deportista, nombre
  FROM deportistas
  WHERE id_deporte = p_id_deporte
  ORDER BY nombre;
$$;

5) Recomendaciones

  • Empieza por el modelo (qué tablas y relaciones necesitas).
  • Usa índices cuando haya filtros frecuentes.
  • Si creas funciones, documenta qué entrada/salida tienen y cómo se usan.