• No se han encontrado resultados

Álgebra Relacional •

N/A
N/A
Protected

Academic year: 2022

Share "Álgebra Relacional •"

Copied!
30
0
0

Texto completo

(1)

Álgebra Relacional

• Es un lenguaje formal que permite consultar bases de datos relacionales

Conjunto de operadores que toman

relaciones como operandos y retornan una relación como resultado  Propiedad de cierre  El resultado de un operador

puede ser el operando de otro.

• Es un lenguaje que no es usado directamente por los desarrolladores: usado para la

traducción y optimización de consultas SQL

• Propuesta por E. F. Codd

(2)

Álgebra Relacional

Ocho operadores clasificados en dos grupos:

Tradicionales de la teoría de conjuntos: Unión, Intersección, Diferencia y Producto Cartesiano

Especializados: Restricción (o Selección), Proyección, Reunión (join) y División

Operadores adicionales:

Renombrado, Agrupamiento, Derivación (o

Extensión)

Curso Bases de Datos

No traducir join

2

como unión

(3)

Álgebra Relacional

ADMINISTRADOR

PRODUCTOR Sean las relaciones:

Nota: Aquí se

usa el atributo

edad, pero en

una BD se

suele guardar

mas bien la

fecha de

nacimiento

(4)

Álgebra Relacional

Restricción o Selección ( ):

• Genera una relación que contiene todas las tuplas de una relación que

satisfacen una condición dada

• La condición se construye mediante operadores de comparación (=, <, , , etc.) y booleanos (AND, OR, etc.)

Curso Bases de Datos 4

Condición

(R)

(5)

Álgebra Relacional

edad  25

(ADMINISTRADOR):



código < 5

(PRODUCTOR):

(6)

Álgebra Relacional:

• Proyección (  ):

Extrae atributos (columnas) de una relación

El resultado es una relación (se eliminan tuplas

repetidas)

Curso Bases de Datos 6

Lista atributos

(R)

(7)

Álgebra Relacional

• 

código, edad

(ADMINISTRADOR)

• 

código, nombre

(PRODUCTOR)

(8)

Álgebra Relacional

Curso Bases de Datos 8

Sea una relación JUGADOR:

Sea: 

país

(JUGADOR)

Sea: 

nom, país

(JUGADOR) JUGADOR

cod nom país

3 Xiu Chin

a

8 Juan Perú

2 Juan Perú

país Chin a Perú

Note que se eliminan tuplas repetidas tuplas

nom país Xiu Chin

a Juan Perú

(9)

Álgebra Relacional

• Producto Cartesiano: R

1

X R X

2

Retorna una relación que contiene todas las tuplas resultantes de la combinación de cada tupla de R1 con cada tupla de R2

La cabecera de la relación resultante es la unión de las cabeceras de R1 y R2

Para hacer el producto cartesiano, las cabeceras de R1

y R2 no pueden tener nombres de atributos iguales

¿por qué? Si las cabeceras tienen nombres de

atributos iguales se debe usar un alias mediante el operador de renombrado más adelante se explica este operador)

(10)

Álgebra Relacional

ADMINISTRADOR X  X

PRO(cod,nom,ed)

(

código,nombre,edad

(PRODUCTOR))

Curso Bases de Datos 10

Renombrado temporal de los atributos

Renombrado temporal de la relación

Operador de renombrado

(11)

Álgebra Relacional

• Unión: R

1

 R

2

Retorna una relación que

contiene todas la tuplas de R1

y de R2 (se eliminan tuplas repetidas)

Las relaciones deben tener cabecera idéntica para que sean compatibles para la unión

(12)

Álgebra Relacional

• ADMINISTRADOR  PRODUCTOR:

Curso Bases de Datos 12

Solo aparece

una vez

(13)

Álgebra Relacional

• Intersección: R

1

 R

2

Retorna una relación que

contiene todas las tuplas que aparecen tanto en R1 como en R2

Las relaciones deben tener cabecera idéntica para que sean compatibles para la intersección

(14)

Álgebra Relacional

• ADMINISTRADOR  PRODUCTOR:

Curso Bases de Datos 14

(15)

Álgebra Relacional

• Diferencia: R

1

 R

2

Retorna una relación que

contiene todas las tuplas que aparecen en R1 pero no en R2

(tuplas idénticas)

Las relaciones deben tener cabecera idéntica para que sean compatibles para la diferencia

(16)

Álgebra Relacional

• ADMINISTRADOR  PRODUCTOR:

• PRODUCTOR  ADMINISTRADOR:

Curso Bases de Datos 16

(17)

• La unión, intersección y producto cartesiano son conmutativas y asociativas

La diferencia no es conmutativa ni asociativa

La intersección no es un operador primitivo ya

que se puede expresar mediante la diferencia

(18)

Álgebra Relacional

Reunión (join): Tiene varias modalidades:

Reunión natural (natural join): R1 R2

Sea R1(A,B) y R2 (B,C). El resultado de R1 R2

es una relación con cabecera (A,B,C) donde cada tupla de R1 se combina con cada tupla de R2

siempre y cuando tengan el mismo valor en el atributo en común (B).

A, B y C pueden ser atributos compuestos.

Curso Bases de Datos 18

No traducirla al español como unión

(19)

Álgebra Relacional

EMPLEADO

DEPARTAMENTO

Atributo de

Nota: En este ejemplo, el campoNota

(20)

Álgebra Relacional

EMPLEADO ⋈ DEPARTAMENTO:

Curso Bases de Datos 20

(21)

Álgebra Relacional

Semi reunión (semi join): R1

R2:

• Similar a la reunión natural pero solo se muestran los atributos de la

relación de la izquierda  ¿Utilidad?

Reunión Theta (theta join): R1Condición R2

• Equivale a: 

Condición

(R

1

X R

2

)

• El operador de comparación usado en

la condición no es el “ =“ de la reunión =

natural sino alguno de los siguientes:

(22)

Álgebra Relacional

• EMPLEADO 

depto > dep

DEPT(dep,desc)

(

(depto,descripción)

(DEPARTAMENTO)

)

Curso Bases de Datos 22

(23)

Álgebra Relacional

• División: R

1

 R

2

Sean las relaciones R1(A,B) y R2(B). El resultado de R

1

 R

2

es una relación con el atributo A

• Un valor a  A hace parte del resultado de la división si a está en R

1

combinado con cada valor  B que aparece en R

2

• A y B pueden ser atributos compuestos

(24)

Álgebra Relacional

Curso Bases de Datos 24

codartist

a nomgén

ero 45 Soul 45 Pop 45 Dance

8 Soul 8 Pop 23 Dance

ARTISTAYGENERO GÉNERO

nomgéne ro

Soul Pop Dance

(25)

Álgebra Relacional

• ARTISTAYGENERO GÉNERO

codartis ta

45

Ya que en este caso solo el artista 45 está Ya que en este caso solo el artista 45 está

combinado con todos los géneros que

combinado con todos los géneros que

(26)

Álgebra Relacional

Operadores adicionales:

Asignación: VbleRelacion ← Relación

: Renombra atributos y el nombre de

la relación:

NUEVONOMBRERELACIÓN(atributos renombrados)((atributos)(R))

26

Nota: El renombrado no es definitivo, este solo tiene efecto

durante la expresión del álgebra relacional.

(27)

Álgebra Relacional

Ģ : Operador de agrupamiento. Funciones de grupo: SUM(), AVG(), MAX(), MIN(), COUNT()

Lista atributos de agrupamiento

Ģ

Lista valores agregados

(R) Ej. Sea:

¿Qué hace la siguiente consulta?

depto

Ģ

COUNT(código) AS conteo

(EMP) EMP

Valor agregado: función de grupo aplicada a un atributo, cada uno con su renombrado

(28)

Álgebra Relacional

Curso Bases de Datos 28

cod género país salario

1 m China 100

2 m UK 200

4 m China 100

3 f China 300

8 f China 100

9 m UK 50

23 f China 100

país, género

Ģ

SUM (salario) AS total, COUNT(cod) AS

cuantos

(TRABAJADOR)

TRABAJADOR

país géner

o total cuant os

China m 200 2

UK m 250 2

China f 500 3

(29)

Álgebra Relacional

• Derivación:

EXTEND R ADD Lista cálculos AS Lista atributos

EMP

(30)

Álgebra Relacional

• Se genera una relación como la original pero con un atributo totsal adicional:

Curso Bases de Datos 30

¿Qué hace la siguiente consulta?

Ej: EXTEND EMP ADD 1 AS num, ‘Hola’ AS mensaje

La relación original

permanece

intacta

Referencias

Documento similar

- Trabajo Final (TF): Se desarrollará de manera grupal, para lo cual los estudiantes deberán construir el Plan de Marketing Relacional o de CRM para la marca asignada por el

Trabajo 1 (TB1): primer avance del Trabajo Final (TF), el cual consiste en el análisis del entorno relacional para una marca definida por el docente en la semana 3. Es sobre 20

“⇒” Si AX = B es compatible determinado, A es equivalente por filas a una matriz escalonada reducida cuyo número de pivotes coincide con el número de incógnitas, es decir, A

Álgebra, que incluye el Álgebra Lineal; Geometría; Análisis Matemático, que incluye el Cálculo Diferencial y el Cálculo Integral; Estadística matemática; Topología;

Para mostrar datos de clientes en la tabla Facturas, debe tener un campo común entre las dos tablas a fin de crear una relación.. ID de cliente es el

Ası´, algunos de estos adjetivos que hoy en dı´a se usan habitualmente como calificativos, en espan˜ol medieval solo tienen el valor posible de relacional o si han adquirido este

La regla d’integritat d’unicitat de la clau primària estableix que si el conjunt d’atributs CP és la clau primària d’una relació R, aleshores l’ex- tensió de R no pot tenir