tema 8 Álgebra relacional - blog educativorelacional parte 1 1 Álgebra relacional •es un...

12
1 Lic. Claudia Román F. Tema 8 Álgebra Relacional Parte 1 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. 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

Upload: others

Post on 01-Apr-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

1

Lic. Claudia Román F.

Tema 8 Álgebra

Relacional

Parte 1

1

Álgebra Relacional

• Es un lenguaje formal que permiteconsultar bases de datos relacionales.

• Conjunto de operadores que tomanrelaciones como operandos y retornan unarelación como resultado.

• Es un lenguaje que no es usadodirectamente por los desarrolladores:usado para la traducción y optimización deconsultas SQL.

• Propuesta por E. F. Codd2

Page 2: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

2

Álgebra Relacional

• Ocho operadores clasificados en dosgrupos:

– Tradicionales de la teoría de conjuntos:Unión, Intersección, Diferencia y ProductoCartesiano.

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

• Operadores adicionales: Renombrado,Agrupamiento, Derivación (o Extensión), etc.

3

Álgebra Relacional

4

código nombre edad

1 Jorge Campos 33

2 Enrique Muñoz 25

3 Esteban Paz 21

código nombre edad

2 Enrique Muñoz 25

8 Jorge Arias 30

10 Juan Martínez 19

ADMINISTRADOR

PRODUCTOR

Ejemplo. Sean las relaciones:

Page 3: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

3

Álgebra Relacional

• Restricción o Selección (s):

– Genera una relación quecontiene todas las tuplas deuna relación que satisfacenuna condición dada

– La condición se construyemediante operadores decomparación (=, <, , >, etc.)y booleanos (AND, OR, etc.)

5

sCondición(R)

Álgebra Relacional

• sedad 25(ADMINISTRADOR):

• scódigo < 5(PRODUCTOR):

6

código nombre edad

1 Jorge Campos 33

2 Enrique Muñoz 25

código nombre edad

2 Enrique Muñoz 25

Page 4: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

4

Álgebra Relacional:

• Proyección (p):

– Extrae atributos(columnas) de unarelación

– El resultado es unarelación (se eliminantuplas repetidas)

7

pLista atributos(R)

Álgebra Relacional

• pcódigo, edad(ADMINISTRADOR)

• pcódigo, nombre(PRODUCTOR)

8

código edad

1 33

2 25

3 21

código nombre

2 Enrique Muñoz

8 Jorge Arias

10 Juan Martínez

Page 5: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

5

Álgebra Relacional

9

Ejemplo. Sea una relación JUGADOR:

Sea: ppaís(JUGADOR)

Sea: pnom, país(JUGADOR)

JUGADOR

cod nom país

3 Xiu China

8 Juan Perú

2 Juan Perú

país

China

Perú

Note que se eliminan tuplas repetidas

nom país

Xiu China

Juan Perú

Álgebra Relacional

• Producto Cartesiano: R1 X R2

–Retorna una relación que contiene todaslas tuplas resultantes de la combinación decada tupla de R1 con cada tupla de R2

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

–Para hacer el producto cartesiano, lascabeceras de R1 y R2 no pueden tenernombres de atributos iguales

10

Page 6: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

6

Álgebra Relacional

ADMINISTRADOR X rPRO(cod,nom,ed) (pcódigo,nombre,edad(PRODUCTOR))

11

código nombre edad cod nom ed

1 Jorge Campos 33 2 Enrique Muñoz 25

1 Jorge Campos 33 8 Jorge Arias 30

1 Jorge Campos 33 10 Juan Martínez 19

2 Enrique Muñoz 25 2 Enrique Muñoz 25

2 Enrique Muñoz 25 8 Jorge Arias 30

2 Enrique Muñoz 25 10 Juan Martínez 19

3 Esteban Paz 21 2 Enrique Muñoz 25

3 Esteban Paz 21 8 Jorge Arias 30

3 Esteban Paz 21 10 Juan Martínez 19

Renombrado temporal

de los atributos

Renombrado temporal

de la relación

Operador de renombrado

Álgebra Relacional• Unión: R1 R2

– Retorna una relación quecontiene todas la tuplasde R1 y de R2 (se eliminantuplas repetidas)

– Las relaciones debentener cabecera idénticapara que seancompatibles para la unión

12

Page 7: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

7

Álgebra Relacional

• ADMINISTRADOR PRODUCTOR:

13

código nombre edad

1 Jorge Campos 33

2 Enrique Muñoz 25

3 Esteban Paz 21

8 Jorge Arias 30

10 Juan Martínez 19Solo aparece

una vez

Álgebra Relacional

• Intersección: R1 R2

– Retorna una relación quecontiene todas las tuplasque aparecen tanto en R1

como en R2

– Las relaciones debentener cabecera idénticapara que seancompatibles para laintersección

14

Page 8: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

8

Álgebra Relacional

• ADMINISTRADOR PRODUCTOR:

15

código nombre edad

2 Enrique Muñoz 25

Álgebra Relacional

• Diferencia: R1- R2

– Retorna una relación quecontiene todas las tuplasque aparecen en R1 perono en R2 (tuplasidénticas)

– Las relaciones debentener cabecera idénticapara que seancompatibles para ladiferencia 16

Page 9: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

9

Álgebra Relacional

• ADMINISTRADOR - PRODUCTOR:

• PRODUCTOR - ADMINISTRADOR:

17

código nombre edad

1 Jorge Campos 33

3 Esteban Paz 21

código nombre edad

8 Jorge Arias 30

10 Juan Martínez 19

• La unión, intersección y productocartesiano son conmutativas y asociativas

• La diferencia no es conmutativa niasociativa

• La intersección no es un operador primitivoya que se puede expresar mediante ladiferencia

18

Page 10: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

10

Á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) dondecada tupla de R1 se combina con cada tuplade R2 siempre y cuando tengan el mismovalor en el atributo en común (B).

A, B y C pueden ser atributos compuestos.

19

Álgebra Relacional

20

código nombre edad depto

1 Jorge Campos 33 1

2 Enrique Muñoz 25 1

3 Esteban Paz 21 1

8 Jorge Arias 30 2

10 Juan Martínez 19 2

12 Anselmo Rodas 28 6

depto descripción

1 Administración

2 Producción

3 Ventas

4 Finanzas

EMPLEADO

DEPARTAMENTO

Atributo de

join

Page 11: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

11

Álgebra Relacional

• EMPLEADO ⋈ DEPARTAMENTO:

21

código nombre edad depto descripción

1 Jorge Campos 33 1 Administración

2 Enrique Muñoz 25 1 Administración

3 Esteban Paz 21 1 Administración

8 Jorge Arias 30 2 Producción

10 Juan Martínez 19 2 Producción

Álgebra Relacional

• División: R1 R2

Sean las relaciones R1(A,B) y R2(B). El resultadode R1 R2 es una relación con el atributo A

• Un valor a A hace parte del resultado de ladivisión si a está en R1 combinado con cadavalor B que aparece en R2

• A y B pueden ser atributos compuestos

22

Page 12: Tema 8 Álgebra Relacional - Blog educativoRelacional Parte 1 1 Álgebra Relacional •Es un lenguaje formal que permite consultar bases de datos relacionales. •Conjunto de operadores

12

Álgebra Relacional

23

codartista nomgénero

45 Soul

45 Pop

45 Dance

8 Soul

8 Pop

23 Dance

ARTISTAYGENERO GÉNERO

nomgénero

Soul

Pop

Dance

Álgebra Relacional

• ARTISTAYGENERO GÉNERO

24

codartista

45

Ya que en este caso solo el artista 45 está

combinado con todos los géneros que

aparecen en la relación GÉNERO