Este taller presenta ejercicios de álgebra relacional construidos sobre un dataset de lectores, autores y géneros literarios. Practicarás los operadores fundamentales —selección (σ), proyección (π), join natural (⨝), diferencia (−) y división (÷)— usando la herramienta interactiva RelaX. Cada ejercicio incluye la expresión algebraica completa y una explicación del razonamiento detrás de la consulta.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.
Herramienta
Todos los ejercicios se resuelven en RelaX, disponible en:RelaX — Relational Algebra Calculator
Calculadora interactiva de álgebra relacional. Permite definir datasets propios y evaluar expresiones paso a paso.
Dataset: Lectores
El dataset Lectores modela una pequeña biblioteca social con tres relaciones:lee (qué lectores leen a qué autores), gusta (qué géneros le gustan a cada lector) y escribe (qué géneros y cuántas obras tiene cada autor).
Cargar el dataset en RelaX
Pegar la definición
Borra el contenido de ejemplo y pega el bloque completo que aparece a continuación.
Descripción de las relaciones
| Relación | Atributos | Descripción |
|---|---|---|
lee | lector, autor | Qué lectores leen a qué autores |
gusta | lector, genero | Qué géneros le gustan a cada lector |
escribe | autor, genero, numobras | Qué géneros escribe cada autor y cuántas obras tiene |
Ejercicios
La división (÷) retorna los valores de la primera relación que están relacionados con todos los valores de la segunda. Es el operador de las preguntas del tipo “lectores que leen a TODOS los autores que…”. La diferencia (−) retorna los elementos del primer conjunto que no están en el segundo.
Ejercicio 1 — Lectores que leen autores que escriben novela
Ejercicio 1 — Lectores que leen autores que escriben novela
Enunciado: Encuentra todos los lectores que leen a algún autor que escriba novelas.Estrategia: Primero filtra de Paso a paso:
escribe los autores del género novela, luego haz join con lee usando el atributo autor en común, y por último proyecta solo el atributo lector.σ genero='novela' (escribe)→ selecciona las tuplas donde el género es novela:{Gabo, Leandro, Roberto}.lee ⨝ ...→ join natural por el atributoautor: empareja cada entrada deleecon la fila correspondiente deescribe.π lector (...)→ proyecta solo el nombre del lector.
Ejercicio 2 — Autores que escriben poesía
Ejercicio 2 — Autores que escriben poesía
Enunciado: Lista los nombres de todos los autores que han escrito al menos una obra de poesía.Estrategia: Selecciona las filas de Paso a paso:
escribe donde genero='poesia' y proyecta el atributo autor.σ genero='poesia' (escribe)→ filtra:{Pombo/poesia/15, Lucia/poesia/10}.π autor (...)→ extrae solo la columnaautor.
Ejercicio 3 — Lectores que leen TODOS los autores que escriben poesía (División)
Ejercicio 3 — Lectores que leen TODOS los autores que escriben poesía (División)
Enunciado: Encuentra los lectores que leen a todos los autores que escriben poesía.Estrategia: Este es un problema de cuantificador universal → se resuelve con la división (÷). El dividendo es la proyección de Paso a paso:
(lector, autor) de la relación lee, y el divisor es la proyección de autor de los autores de poesía.π autor (σ genero='poesia' (escribe))→ divisor:{Pombo, Lucia}.π lector, autor (lee)→ dividendo: todos los pares (lector, autor).- La división retorna los lectores que aparecen en
leeemparejados con ambos: Pombo y Lucia.
Ejercicio 4 — Géneros que le gustan a Ana
Ejercicio 4 — Géneros que le gustan a Ana
Enunciado: Lista los géneros literarios que le gustan a Ana.Estrategia: Selecciona las filas de Paso a paso:
gusta donde lector='Ana' y proyecta genero.σ lector='Ana' (gusta)→ filtra:{Ana/poesia, Ana/ensayo}.π genero (...)→ extrae la columnagenero.
Ejercicio 5 — Lectores que NO comparten ningún gusto con Ana
Ejercicio 5 — Lectores que NO comparten ningún gusto con Ana
Enunciado: Encuentra los lectores a quienes no les gusta ningún género que también le guste a Ana.Estrategia: Usa la diferencia (−). Construye primero el conjunto de lectores que sí comparten al menos un gusto con Ana, y réstalo del conjunto de todos los lectores.Paso a paso:
gustosAna→{poesia, ensayo}.gusta ⨝ gustosAna→ join natural porgenero: retiene las filas degustacuyo género es poesia o ensayo.π lector (...)→ lectores con al menos un gusto en común con Ana: Nicolas, Carlos, Felipe.todosLectores - lectoresConGustoComun→ lectores que no aparecen en el paso anterior.
Ejercicio 6 — Autores que no lee nadie
Ejercicio 6 — Autores que no lee nadie
Enunciado: Lista los autores que aparecen en Paso a paso:
escribe pero que ningún lector ha registrado leer.Estrategia: Calcula la diferencia entre todos los autores (proyectados de escribe) y los autores que sí tienen al menos un lector (proyectados de lee).todosAutores→{Gabo, Pombo, Roberto, Leandro, Lucia, Gardel, Maria, Gaitan}.autoresLeidos→{Leandro, Roberto, Gaitan, Lucia, Pombo, Gabo, Maria}.- La diferencia elimina todos los que aparecen en
autoresLeidos.
escribe pero nadie en lee lo tiene registrado).Resumen de operadores usados
| Operador | Símbolo | Uso en este taller |
|---|---|---|
| Selección | σ | Filtrar tuplas por condición |
| Proyección | π | Elegir columnas del resultado |
| Join natural | ⨝ | Combinar relaciones por atributo común |
| Diferencia | − | Elementos del primero que no están en el segundo |
| División | ÷ | Cuantificador universal (“para todos”) |