algebra relacional 1

30
INTRODUCCIÓN INTRODUCCIÓN Un lenguaje de consulta es en el Un lenguaje de consulta es en el que el usuario solicita información que el usuario solicita información de la base de datos: se construye de la base de datos: se construye una expresión que contesta una expresión que contesta interrogantes sobre la instancia interrogantes sobre la instancia actual de la base. actual de la base. Se vera un lenguaje puro que es Se vera un lenguaje puro que es rígido y formal, pero que ilustra rígido y formal, pero que ilustra las técnicas fundamentales para la las técnicas fundamentales para la extracción de la información: el extracción de la información: el Algebra Relacional Algebra Relacional

Upload: aqu31

Post on 03-Jul-2015

567 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Algebra Relacional 1

INTRODUCCIÓNINTRODUCCIÓN

Un lenguaje de consulta es en el que el Un lenguaje de consulta es en el que el usuario solicita información de la base usuario solicita información de la base de datos: se construye una expresión de datos: se construye una expresión que contesta interrogantes sobre la que contesta interrogantes sobre la instancia actual de la base.instancia actual de la base.

Se vera un lenguaje puro que es rígido Se vera un lenguaje puro que es rígido y formal, pero que ilustra las técnicas y formal, pero que ilustra las técnicas fundamentales para la extracción de la fundamentales para la extracción de la información: el información: el Algebra RelacionalAlgebra Relacional

Page 2: Algebra Relacional 1

CONCEPTOS BÁSICOSCONCEPTOS BÁSICOS

Una Base de Datos Relacional muestra las tablas en forma de filas y columnas

Ciudad (num_ciu, nomb_ciu)

a1 La paz

a5 Santa Luz

a6 Tarija

a9 potosí

Page 3: Algebra Relacional 1

Dominio: Es el conjunto de todos los valores permitidos que una columna puede tomar. Se tiene D1, D2,..., Dn, si tenemos n columnas.

Producto Cartesiano: De lo anterior se tiene V1∈D1,V2∈D2, ... , Vn∈Dn , porque cada elemento está en el dominio respectivo. En matemáticas podemos decir que la tupla es un elemento del producto cartesiano de los dominios:

(v1,v2,....,vn)∈(D1xD2x.....xDn) =Xi=1,n(Di)

Page 4: Algebra Relacional 1

TUPLAS: Cada una de las filas de una tabla se compone de n elementos (V1,V2,..,Vn). En matemáticas este conjunto ordenado de elementos se llama tupla

RELACION: Es un subconjunto del producto cartesiano de una lista de dominios, no necesariamente disjuntos Es por esto que en el álgebra relacional se denomina relación a una tabla y tupla a un fila de tabla.

Page 5: Algebra Relacional 1

SIMBOLOS DE LENGUAJESIMBOLOS DE LENGUAJE

Los símbolos de lenguaje son: Símbolos de Puntuación: paréntesis "(", ")" y coma

",". Símbolos de variables: se representan mediante letras

minúsculas del final del alfabeto: r, s, t, u, v, w, x, y, z. Símbolos de constantes: se representan mediante

letras minúsculas del principio del alfabeto: a, b, c, d, e. Símbolos de funciones: también se representan con

letras minúsculas, pero del centro del alfabeto: f, g, h, i.. Símbolos de predicados: se representan mediante

letras mayúsculas. Operadores lógicos: ¬ (negación), ¬ (implicación), ∨

(conjunción) y ∧ (disyunción). Cuantificadores: ∀ (cuantificador universal) y ∃

(cuantificador existencial).

Page 6: Algebra Relacional 1

LAS OPERACIONES DEL LAS OPERACIONES DEL ALGEBRA RELACIONALALGEBRA RELACIONAL

Las operaciones de álgebra relacional manipulan relaciones. Esto significa que estas operaciones usan uno o dos relaciones existentes para crear una nueva relación. Esta nueva relación puede entonces usarse como entrada para una nueva operación.

Page 7: Algebra Relacional 1

El algebra relacional consta de nueve operaciones UniónIntersecciónDiferenciaProductoSelecciónProyecciónReuniónDivisiónRenombrar

Page 8: Algebra Relacional 1

UNIÓN(UNIÓN(∪∪))

•La operación de unión permite combinar datos de varias relaciones. •No siempre es posible realizar consultas de unión entre varias tablas, para poder realizar esta operación es necesario e imprescindible que las tablas a unir tengan las mismas estructuras, que sus campos sean iguales.

Page 9: Algebra Relacional 1

Ejemplo: Teniendo dos relaciones R y S, R∪S, es el conjunto de filas que pertenecen a R, a S o a ambas. R y S deben tener esquemas con conjuntos idénticos de atributosR

Nombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Ana Gómez C/Luna,3 8-3-58

SNombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Luís Díaz C/Sol,5 8-5-67

R∪S Nombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Ana Gómez C/Luna,3 8-3-58Luís Díaz C/Sol,5 8-5-67

Page 10: Algebra Relacional 1

INTERSECCIÓN (∩)INTERSECCIÓN (∩)

• La operación de intersección permite identificar filas que son comunes en dos relaciones. Al igual que la operación Unión, para poder realizar esta operación es necesario e imprescindible que las tablas a unir tengan las mismas estructuras, que sus campos sean iguales

Page 11: Algebra Relacional 1

• Ejemplo: : Teniendo dos relaciones R y S, R∩S, es el conjunto de filas que pertenecen a R y a S.

R Nombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Ana Gómez C/Luna,3 8-3-58

SNombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Luís Díaz C/Sol,5 8-5-67

R∩SNombre Dirección FechaJuan Díaz C/Pez,10 9-9-62

Page 12: Algebra Relacional 1

DIFERENCIA(-)DIFERENCIA(-)

• La operación diferencia permite identificar filas que están en una relación y no en otra.

Ejemplo: La diferencia de dos relaciones R y S, R-S, es el conjunto de filas de R que no pertenecen a S. R y S deben tener esquemas con conjuntos idénticos de atributos

Page 13: Algebra Relacional 1

R Nombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Ana Gómez C/Luna,3 8-3-58

SNombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Luís Díaz C/Sol,5 8-5-67

R-SNombre Dirección FechaAna Gómez C/Luna,3 8-3-58

Page 14: Algebra Relacional 1

PRODUCTO (X)PRODUCTO (X)

• La operación producto consiste en la realización de un producto cartesiano entre dos tablas dando como resultado todas las posibles combinaciones entre los registros de la primera y los registros de la segunda. Esta operación se entiende mejor con el siguiente

Ejemplo: Sean R y S dos relaciones de grado m y n, respectivamente. El producto cartesiano, R X S, es una relación de grado m + n formada por todas las posibles tuplas en las que los m primeros elementos constituyen una tupla de R y los n últimos una tupla de S

Page 15: Algebra Relacional 1

A B

1 2

3 4

RR B C D

2 5 6

4 7 8

9 10 11

SS

A R.B S.B C D

1 2 2 5 6

1 2 4 7 8

1 2 9 10 11

3 4 2 5 6

3 4 4 7 8

3 4 9 10 11

R X SR X S

Page 16: Algebra Relacional 1

SELECCIÓN (σ)

•Formato de Uso: σ (condición) (RELACION) Esta operación es la que normalmente se conoce como consulta.

En este tipo de consulta se emplean los diferentes operadores de comparación (=,>, <, >=, <=, <>) y los operadores lógicos ∧ (and), ∨ (or), ¬ (not)

)( ValorColumnaOPERADOR

Page 17: Algebra Relacional 1

EmpleadoEmpleado

Cedula Nombre

Apellido

Sexo Sueldo

8721882

Luís Pacheco

M 1600000

1140837

Janeth Rozo F 2000000

9632584

Carmelo

Osorio M 1200000

1142365

Valeria Rozo F 1800000

8542631

Julián Román M 1500000

1123659

Lucrecia

Mejia F 1563000

Page 18: Algebra Relacional 1

EJEMPLOSEJEMPLOS

Muestra el resultado de las siguientes selecciones: σ cedula = 8721882 (EMPLEADO)

Cedula Nombre

Apellido

Sexo Sueldo

8721882

Luís Pacheco

M 1600000

Page 19: Algebra Relacional 1

Cedula Nombre

Apellido

Sexo Sueldo

1140837

Janeth Rozo F 2000000

1142365

Valeria Ortega F 1800000

1123659

Lucrecia

Mejia F 1563000

σ sexo = ‘F’ (EMPLEADO)

Page 20: Algebra Relacional 1

PROYECCION (PROYECCION ())

• Una proyección es una selección en la que seleccionamos aquellos campos que deseamos recuperar.

• Formato de uso (lista de atributos)

(Relación)

Page 21: Algebra Relacional 1

EJEMPLOEJEMPLOSS

• Muestra el resultado de las siguientes proyecciones:

R Nombre Dirección FechaJuan Díaz C/Pez,10 9-9-62Ana Gómez C/Luna,3 8-3-58

nombre, fecha (R)

R Nombre FechaJuan Díaz 9-9-62Ana Gómez 8-3-58

Page 22: Algebra Relacional 1

• cedula, salario (EMPLEADO)

Cedula Sueldo

8721882 1600000

1140837 2000000

9632584 1200000

1142365 1800000

8542631 1500000

1123659 1563000

Page 23: Algebra Relacional 1

Reunión (Join) θ

• La reunión se utiliza para recuperar datos a través de varias tablas conectadas unas con otras mediante cláusulas JOIN. La operación reunión se puede combinar con las operaciones selección y proyección

Page 24: Algebra Relacional 1

REUNION NATURALREUNION NATURAL

• La reaunión natural es una operación binaria que permite combinar ciertas selecciones y un producto cartesiano en una sola operación y elimina los atributos repetidos.

Page 25: Algebra Relacional 1

A B

12412

C D

aabab

B

13123

D

aaabb

E

A B

11112

C

aaaab

E

r sD

EJEMPLOEJEMPLOHay dos relaciones R y SHay dos relaciones R y S

Page 26: Algebra Relacional 1

DIVISION (DIVISION (÷)

• Operación del álgebra relacional que crea una nueva relación, seleccionando las filas en una relación que se corresponden con todas las filas en otra relación.

Page 27: Algebra Relacional 1

Tabla A

Código Producto

1035

2241

2249

5818

Código

Comercial

Código Producto

10 2241

23 2518

23 1035

39 2518

37 2518

10 2249

23 2249

23 2241

Tabla B

División

Código Comercial

23

Page 28: Algebra Relacional 1

RENOMBRAR RENOMBRAR

• Permite referirse a una relación por más de un nombre.

Ejemplo: x (E)Devuelve la expresión E bajo el nombre XSi la expresión del algebra relacional E tiene

aridad n, entonces x (A1, A2, …, An) (E)devuelve el resultado de la expresiónE bajo

el nombre X, y con los atributos renombrados a A1, A2, …., An.

Page 29: Algebra Relacional 1

FUNCIONES DE FUNCIONES DE AGREGACIONAGREGACION

• Las funciones de agregación toma una colección de valores y retorna un solo valoR como resultado.

avg: valor promediomin: valor mínimomax: valor máximosum: suma de valorescount: número de valores

Page 30: Algebra Relacional 1

RESUMENRESUMEN

• El álgebra relacional define un conjunto de operaciones algebraicas que operan sobre tablas y devuelven tablas como resultado. Estas operaciones se pueden combinar para obtener expresiones que expresan las consultas deseadas. El álgebra define las operaciones básicas usadas en los lenguajes de consulta relacionales