Base de Datos - 2026
Docentes:
Bustos Aguiar Soledad
Reynoso Chocobar Juan Matias
Alumna: Contrera Sofia candela MU:01878
Universidad Nacional de Catamarca
Facultad de Tecnología y Ciencias Aplicadas
En el Álgebra Relacional, los Joins (o combinaciones) son operaciones que permiten relacionar información de dos tablas mediante atributos en común.
Son fundamentales en bases de datos relacionales porque permiten obtener información combinada a partir de varias relaciones.
Definición
El Producto Cartesiano combina cada fila de una tabla con todas las filas de otra tabla.
Notación: R×S
R×SR \times R×S
| id_alumno | nombre |
|---|---|
| 1 | Ana |
| 2 | Luis |
| id_materia | nombre_materia |
|---|---|
| M1 | Matemáticas |
| M2 | Física |
Tabla alumno
Tabla materias
R×S
Definición
Es un join que combina tablas utilizando una condición cualquiera.
Notación: R⋈θ S
R⋈θSR \bowtie_{\theta}
La condición (θ)puede usar:
Guía:
Esto implica: σθ(R×S)
σθ(R×S)\sigma_{\theta}(R \times S)
Definición:
Ejemplo
Relacionar empleados con categorías donde:EMPLEADO.salario>ESCALA.salario_min
R⋈θSR \bowtie_{\theta}
Expresión del Theta Join --> EMPLEADO⋈ salario>salario_min ESCALA
| categoria | salario_min |
|---|---|
| Junior | 2000 |
| semiSenior | 4000 |
| Senior | 6000 |
| id_emp | nombre | salario |
|---|---|---|
| 1 | Ana | 5000 |
| 2 | Luis | 3000 |
| 3 | Carla | 7000 |
Tabla empleado
Tabla Escala
Paso 1 — Producto Cartesiano: Primero combinamos TODAS las filas.
| Ana | 5000 | Junior | 2000 |
| Ana | 5000 | SemiSenior | 4000 |
| Ana | 5000 | Senior | 6000 |
| Luis | 3000 | Junior | 2000 |
| Luis | 3000 | SemiSenior | 4000 |
| Luis | 3000 | Senior | 6000 |
| Carla | 7000 | Junior | 2000 |
| Carla | 7000 | SemiSenior | 4000 |
| Carla | 7000 | Senior |
6000 |
nombres salario categoria salario_min
nombre salario categoria
| Ana | 5000 | Junior |
| Ana | 5000 | SemiSenior |
| Luis | 3000 | Junior |
| Carla | 7000 | Junior |
| Carla | 7000 | SemiSenior |
| Carla | 7000 | Senior |
¿Qué ocurrió realmente?
El Theta Join:
- comparó cada empleado con cada categoría
- conservó únicamente las combinaciones válidas
Paso 2 — Aplicar condición
Ahora evaluamos:
salario>salario_minsalario > salario\_minsalario>salario_min
Definición: Es un caso particular del Theta Join donde la condición utiliza solamente igualdad (=).Mantiene ambas columnas comparadas en el resultado. Muy utilizado en consultas en SQL tradicionales.
Ejemplo: EMPLEADO⋈EMPLEADO.id_dep=DEPARTAMENTO.id_depDEPARTAMENTO
R⋈θSR \bowtie_{\theta}
| id_emp | nombre | id_dep |
|---|---|---|
| 1 | Ana | 10 |
| 2 | Luis | 20 |
| id_dep | departamento |
|---|---|
| 10 | sistemas |
| 20 | ventas |
Tabla empleado
Tabla departamento
Resultado aplicando Equi Join
| 1 | Ana | 10 | 10 | Sistemas |
| 2 | Luis | 20 | 20 | Ventas |
id_emp nombre id_dep id_dep departamento
R⋈SR \bowtie S
Resultado del ejemplo anterior usando Natural Join
| 1 | Ana | 10 | Sistemas | |
| 2 | Luis | 20 | Ventas |
id_emp nombre id_dep departamento
Los Outer Joins son una categoría especial de joins que permiten conservar registros aunque no exista coincidencia entre las tablas relacionadas. A diferencia de los joins tradicionales (como el Natural Join o el Equi Join), los Outer Joins no descartan automáticamente las filas sin relación.
Característica principal: Si una fila de una tabla no encuentra coincidencia en la otra:
- igualmente aparece en el resultado
- los atributos faltantes se completan con NULL
Objetivo de los Outer Joins: se utilizan cuando:
- interesa conservar información incompleta
- se desea detectar registros “huérfanos”
- se necesita visualizar datos relacionados y no relacionados al mismo tiempo
Tipo Conserva
| Left Outer Join | Todas las filas de la tabla izquierda |
| Right Outer Join | Todas las filas de la tabla derecha |
| Full Outer Join | Todas las filas de ambas tablas |
Los Outer Joins introducen el uso de:
NULLNULLNULL
para representar:
Conclución: Los Joins no son operaciones aisladas; representan un aspectro de transformación. Desde el producto cartesiano(la base de todas las combinaciones) hasta el Natural Join(la combinación más refinada y automática),dominar el Álgebra relacional es saber elegir el nivel exacto de restricción que tus datos necesitan