Vous êtes sur la page 1sur 14

FUNDAMENTOS DE BASE DE DATOS

UNIDAD 5 ALGEBRA RELACIONAL

El álgebra relacional en las bases de datos presenta la manera de hacer consultas a


una base de datos empleando algunos conceptos matemáticos aplicados a un esquema
relacional.

El álgebra relacional consiste de algunas simples pero poderosas maneras de


construir nuevas relaciones a partir de otras. Si pensamos que las relaciones iniciales son
los datos almacenados entonces las nuevas relaciones se pueden ver como respuestas a
algunas consultas deseadas.

Tuplas

Una tupla se define como una función finita que asocia unívocamente los nombres
de los atributos de una relación con los valores de una instanciación de la misma. En
términos simplistas, es una fila de una tabla relacional.

El álgebra relacional es un método que consiste básicamente en crear o construir


nuevas relaciones a partir de relaciones existentes.

Existen 2 tipos de operadores algebraicos: Operadores básicos o primitivos y


Operadores no básicos o derivados.

Operadores básicos o primitivos.

Se clasifican en:
Proyección (π).
Selección (σ).
Unión (U).
Diferencia (-).
Producto cartesiano (X).

Cada operador del álgebra acepta una o dos relaciones y retorna una relación como
resultado. σ y π son operadores unarios, el resto de los operadores son binarios. Las
operaciones básicas del álgebra relacional son:

Selección (σ)

Permite seleccionar un subconjunto de tuplas de una relación (R), todas aquellas que
cumplan la(s) condición(es) P, esto es:

𝜎p (R)

L.I Verónica Díaz Hernández pág. 1


FUNDAMENTOS DE BASE DE DATOS

Por ejemplo:

Seleccionar a los alumnos de apellido Pérez se escribiría:

𝜎 apellido=Pérez (Alumnos)

Una condición puede ser una combinación booleana, donde se pueden usar
operadores como: ≤, ≥, <, >, =. ≠.

Proyección (π)

Permite extraer columnas (atributos) de una relación, dando como resultado un


subconjunto vertical de atributos de la relación, esto es:

Π A1, A2, …. An donde A1, A2, …. An son atributos de la relación R

Por ejemplo:

Proyectar el número de control y semestre del alumno y se escribe:

Π no_control, semestre (Alumnos)

Producto cartesiano (x)

El producto cartesiano de dos relaciones se escribe como:

R x S

Entrega una relación, cuyo esquema corresponde a una combinación de todas las
tuplas de R con cada una de las tuplas de S, y sus atributos corresponden a los de R
seguidos por los de S.

Por ejemplo:

Seleccionar todas las tuplas de las tablas Alumnos y Maestros y se escribe:

Alumnos x Maestros

Muestra una nueva relación, cuyo esquema contiene cada una de las tuplas de la
relación Alumnos junto con las tuplas de la relación Maestros, mostrando primero los
atributos de la relación Alumnos seguidos por las tuplas de la relación Maestros.

L.I Verónica Díaz Hernández pág. 2


FUNDAMENTOS DE BASE DE DATOS

Union (ꓴ)

La unión entre dos relaciones, R y S es denotada por:


R ꓴ S

Retorna el conjunto de tuplas que están en R, o en S, o en ambas. R y S deben ser


uniones compatibles.

Diferencia (-)

La diferencia de dos relaciones, R y S denotada por:

R-S

Entrega todas aquellas tuplas que están en R, pero no en S. R y S deben ser uniones
compatibles.

Estas operaciones son fundamentales en el sentido en que (1) todas las demás
operaciones pueden ser expresadas como una combinación de éstas y (2) ninguna de estas
operaciones pueden ser omitidas sin que con ello se pierda información.

No básicas o Derivadas

Entre los operadores no básicos tenemos:

Intersección (∩)

La intersección de dos relaciones se puede especificar en función de otros


operadores básicos:

R ∩ S

La intersección, como en Teoría de conjuntos, corresponde al conjunto de todas las


tuplas que están en R y en S, siendo R y S uniones compatibles.

L.I Verónica Díaz Hernández pág. 3


FUNDAMENTOS DE BASE DE DATOS

Estructura básica de consultas SQL

En un lenguajes relacional siempre vamos a tener una estructura básica de consulta,


esta consta de tres  cláusulas select , from , where

Cláusula select: se usa para obtener una relación de los atributos deseados de una
consulta, (seleccionar).

Cláusula from: se corresponde con la operación productos cartesianos del algebra


relacional. Genera una lista de las relaciones (tablas) que debe ser analizada en la
evaluación de la expresión, (en de donde obtenerlo).

Clausula where: Corresponde al predicado de la selección, engloba los atributos de


las relaciones (tablas) que aparecen ahí.

Nota: Cabe mencionar que por lo general cuando se hace una sentencia de consulta
se emplea un comodín que hacer referencia a todas la columnas, este comodín es el
asterisco   “*”

Por Ejemplo:

Selecciona los alumnos de apellido Pérez

select nom_a
from Alumnos En esta sentencia aparecerá únicamente el nombre
where apellido=Perez

Si utilizamos el asterisco quedaría:

select *
from Alumnos En esta sentencia aparecerá todos los campos
where apellido=Perez

Operaciones Adicionales

Distinct – Elimina duplicados.


All – Forzar a que haya duplicados
Conectores and or y not – Y, O y NO
Between – Se utiliza para un especificar un parámetro de valores
As – Es para renombrar una tabla
Like – Se utiliza para el encaje de patrones sobre cadenas acompañadas de:

L.I Verónica Díaz Hernández pág. 4


FUNDAMENTOS DE BASE DE DATOS

 (%) Encaja con cualquier subcadena, por ejemplo: Nava%, muestra las cadenas que
empiecen con Nava.
 ( _ ) Encaja con cualquier carácter, por ejemplo: _ _ _ encaja con cualquier cadena
de tres caracteres.
Order by – Ordena por algún campo siempre y cuando se encuentre declarado en select
Agroup by – Se usan para formar grupos, tuplas con el mismo valor.
Avg – Obtiene un promedio
Min – Obtiene el valor mínimo
Max – Obtiene el valor máximo
Sum – Es el total o suma de valores de registros numéricos
Count – Cuenta los registros

EJERCICIOS:

L.I Verónica Díaz Hernández pág. 5


FUNDAMENTOS DE BASE DE DATOS

EJEMPLOS EN TABLAS

Proyección.

Este operador permite extraer columnas de una relación y de esta manera crea un
subconjunto de atributos de la relación, además elimina las filas duplicadas.
Ejemplo:

PERSONA

CODIGO NOMBRE EDAD TELEFONO CIUDAD

1 PEDRO 24 3182405 QUITO

2 SONIA 15 3234534 QUITO

3 ERIK 18 4102405 GUAYAQUIL

4 ANDREA 27 4089129 GUAYAQUIL

Proyectar el nombre y ciudad de la tabla persona


π NOMBRE, CUIDAD (PERSONA)

NOMBRE CUIDAD

PEDRO QUITO

SONIA QUITO

ERIK GUAYAQUIL

ANDREA GUAYAQUIL

Selección.

Este operador permite seleccionar un subconjunto de filas o registros de una relación y de


acuerdo a la condición planteada los registros serán seleccionados para formar parte de un
nuevo subconjunto.

L.I Verónica Díaz Hernández pág. 6


FUNDAMENTOS DE BASE DE DATOS

Ejemplo:

PERSONA

CODIGO NOMBRE EDAD TELEFONO CIUDAD

1 PEDRO 24 3182405 QUITO

2 SONIA 15 3234534 QUITO

3 ERIK 18 4102405 GUAYAQUIL

4 ANDREA 27 4089129 GUAYAQUIL

Selecciona a las personas con un código mayor a 2

σ CODIGO>2 (PERSONA)

CODIGO NOMBRE EDAD TELEFONO CIUDAD

3 ERIK 18 4102405 GUAYAQUIL

4 ANDREA 27 4089129 GUAYAQUIL

Unión.

La unión de 2 relaciones R y S es otra relación la cual va a tener los registros de R en  S o


en ambas, además se eliminan los registros duplicados. En esta relación R y S deben ser
compatibles es decir que deben estar definidas sobre el mismo conjunto de atributos.
Ejemplo:

L.I Verónica Díaz Hernández pág. 7


FUNDAMENTOS DE BASE DE DATOS

EMPLEADO

CÓDIGO NOMBRE SUELDO

1 KEVIN 550

2 EDUARDO 300

3 JESSICA 240

4 NANCY 430

JEFE

CÓDIGO NOMBRE SUELDO

5 PEDRO 800

2 EDUARDO 300

6 ADRIAN 1000

4 NANCY 430

8 JUAN 180

Realiza la unión de las tablas empleado y jefe

EMPLEADO U JEFE

CÓDIGO NOMBRE SUELDO

1 KEVIN 550

2 EDUARDO 300

L.I Verónica Díaz Hernández pág. 8


FUNDAMENTOS DE BASE DE DATOS

3 JESSICA 240

4 NANCY 430

5 PEDRO 800

6 ADRIAN 1000

8 JUAN 180

Diferencia.

La diferencia de 2 relaciones R y S es otra relación la cual va a tener los registros que están
en R pero no están en S. En esta relación R y S deben ser compatibles.
Ejemplo

EMPLEADO

CÓDIGO NOMBRE SUELDO

1 KEVIN 550

2 EDUARDO 300

3 JESSICA 240

4 NANCY 430

JEFE

CÓDIGO NOMBRE SUELDO

L.I Verónica Díaz Hernández pág. 9


FUNDAMENTOS DE BASE DE DATOS

5 PEDRO 800

2 EDUARDO 300

6 ADRIAN 1000

4 NANCY 430

8 JUAN 180

Encuentra la diferencia entre empleado y jefe


EMPLEADO – JEFE

CODIGO NOMBRE SUELDO

1 KEVIN 550

3 JESSICA 240

Encuentra la diferencia entre jefe y empleado (al revés que el anterior, el resultado cambia)
JEFE – EMPLEADO

CODIGO NOMBRE SUELDO

5 PEDRO 800

6 ADRIAN 1000

8 JUAN 180

Producto cartesiano.

Es  una relación que consiste en la concatenación de cada una de las filas de la relación R
con cada una de las filas de la relación S.

L.I Verónica Díaz Hernández pág. 10


FUNDAMENTOS DE BASE DE DATOS

Ejemplo

PROVINCIA

CÓDIGO NOMBRE POBLACION

5 PICHINCHA 800

2 AZUAY 300

6 GUAYAS 1000

4 COTOPAXI 430

CIUDAD

CÓDIGO CIUDAD

C1 QUITO

C2 CUENCA

C3 GUAYAQUIL

Realiza el producto cartesiano de provincia y ciudad

PROVINCIA X CIUDAD

CÓDIG NOMBRE POBLACIO CODIG CIUDAD


O N O

5 PICHINCH 800 C1 QUITO


A

L.I Verónica Díaz Hernández pág. 11


FUNDAMENTOS DE BASE DE DATOS

5 PICHINCH 800 C2 CUENCA


A

5 PICHINCH 800 C3 GUAYAQUI


A L

2 AZUAY 300 C1 QUITO

2 AZUAY 300 C2 CUENCA

2 AZUAY 300 C3 GUAYAQUI


L

6 GUAYAS 1000 C1 QUITO

6 GUAYAS 1000 C2 CUENCA

6 GUAYAS 1000 C3 GUAYAQUI


L

4 COTOPAX 430 C1 QUITO


I

4 COTOPAX 430 C2 CUENCA


I

4 COTOPAX 430 C3 GUAYAQUI


I L

Intersección.

Es  una relación que contiene el conjunto de todas las filas que están tanto en la relación R
como en S. R y S deben ser compatibles.
Ejemplo:

L.I Verónica Díaz Hernández pág. 12


FUNDAMENTOS DE BASE DE DATOS

EMPLEADO

CODIGO NOMBRE SUELDO

1 KEVIN 550

2 EDUARDO 300

3 JESSICA 240

4 NANCY 430

JEFE

CODIGO NOMBRE SUELDO

5 PEDRO 800

2 EDUARDO 300

6 ADRIAN 1000

4 NANCY 430

8 JUAN 180

Realiza la intersección de empleado y jefe


EMPLEADO ∩ JEFE

CODIGO NOMBRE SUELDO

2 EDUARDO 300

4 NANCY 430

L.I Verónica Díaz Hernández pág. 13


FUNDAMENTOS DE BASE DE DATOS

L.I Verónica Díaz Hernández pág. 14

Vous aimerez peut-être aussi