La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Álgebra relacional.

Presentaciones similares


Presentación del tema: "Álgebra relacional."— Transcripción de la presentación:

1 Álgebra relacional

2 Álgebra relacional Lenguaje de consulta procedural.
Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación, por lo tanto, es posible anidar y combinar operadores. En otras palabras: consiste básicamente en crear o construir nuevas relaciones a partir de relaciones existentes.

3 Tipos de operadores algebraicos
Operadores básicos o primitivos Operadores no básicos o derivados Se extienden a partir de los primitivos

4 Operadores primitivos
Proyección: π (Pi) Selección: σ (Sigma) Unión: U Diferencia: - Producto cartesiano: X

5 Proyección 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. ∏ Nombre, Ciudad (PERSONA) Columnas que se desean mostrar Tabla sobre la cual se aplica.

6 Proyección. Ejemplo: PERSONA PERSONA ∏ Nombre, Ciudad (PERSONA)
Codigo Nombre Edad Telefono Ciudad 1 PEDRO 24 QUITO 2 SONIA 15 3 ERIK 18 GUAYAQUIL 4 ANDREA 27 PERSONA (Relación original) ∏ Nombre, Ciudad (PERSONA) Nombre Ciudad PEDRO QUITO SONIA ERIK GUAYAQUIL ANDREA PERSONA (Subconjunto de la relación original)

7 Selección σ CODIGO>2 (PERSONA)
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. σ CODIGO>2 (PERSONA) Condición aplicado a una de las columnas Tabla sobre la cual se aplica.

8 Selección. Ejemplo: σ CODIGO > 2 (PERSONA) PERSONA PERSONA
Nombre Edad Telefono Ciudad 1 PEDRO 24 QUITO 2 SONIA 15 3 ERIK 18 GUAYAQUIL 4 ANDREA 27 PERSONA (Relación original) σ CODIGO > 2 (PERSONA) PERSONA (Subconjunto de la relación original) Codigo Nombre Edad Telefono Ciudad 3 ERIK 18 GUAYAQUIL 4 ANDREA 27

9 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. EMPLEADO U JEFE Relación R, compatible con S Relación S, compatible con R.

10 Unión. Ejemplo EMPLEADO U JEFE JEFE EMPLEADO
Código Nombre Sueldo 5 PEDRO 800 2 EDUARDO 300 6 ADRIAN 1000 4 NANCY 430 8 JUAN 180 Código Nombre Sueldo 1 KEVIN 550 2 EDUARDO 300 3 JESSICA 240 4 NANCY 430 5 PEDRO 800 6 ADRIAN 1000 8 JUAN 180 EMPLEADO Código Nombre Sueldo 1 KEVIN 550 2 EDUARDO 300 3 JESSICA 240 4 NANCY 430 Observación: Fila repetida de código 3, sólo se muestra una vez.

11 Diferencia EMPLEADO - JEFE
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. R y S deben ser compatibles. EMPLEADO - JEFE

12 Diferencia. Ejemplo EMPLEADO - JEFE JEFE EMPLEADO Código Nombre Sueldo
5 PEDRO 800 2 EDUARDO 300 6 ADRIAN 1000 4 NANCY 430 8 JUAN Código Nombre Sueldo 1 KEVIN 550 3 JESSICA 240 EMPLEADO Código Nombre Sueldo 1 KEVIN 550 2 EDUARDO 300 3 JESSICA 240 4 NANCY 430

13 Ejercicio 1. Considere la siguiente tabla:
PERSONA Codigo Nombre Edad Telefono Ciudad 1 Pedro 24 Juan Lacaze 2 SONIA 15 Rosario 3 ERIK 18 Tarariras 4 ANDREA 27 Valdense 5 Juan 25 6 Antonia 22 7 Antonella 8 Lucas 34 9 Martín 68 Juan Lacaze 10 Rosa 70 11 67

14 Resolver: σ Ciudad = “Juan Lacaze” (PERSONA)
∏Telefono, Nombre (PERSONA) σ Ciudad = “Juan Lacaze” (PERSONA) σ Ciudad = “Tarariras” AND Codigo > 4 (PERSONA) σ Edad >= 18 AND Ciudad=“Rosario” (PERSONA) σ Edad < 60 AND Nombre=“Pedro” (PERSONA) σ Edad < 17 OR Edad > 60 (PERSONA) Nota: se cambió el operador lógico Y por AND, ya que es el utilizado en lenguaje SQL, lenguaje de consulta de BBDD. OR es el operador lógico para O.

15 Secuencia de operaciones
Podemos escribir las operaciones como una única expresión de álgebra relacional anidando dichas operaciones.  Edad, Nombre ( σ CODIGO > 2 (PERSONA) ) Devuelve una relación R1 con todas las tuplas que cumplen la condición. Estas tuplas contienen TODAS las columnas. Al resultado de la selección R1, se le aplica una proyeccción para mostrar sólo las columnas Edad y Nombre

16 Secuencia de operaciones. Ejemplo:
Codigo Nombre Edad Telefono Ciudad 1 PEDRO 24 QUITO 2 SONIA 15 3 ERIK 18 GUAYAQUIL 4 ANDREA 27 PERSONA (Relación original)  Edad, Nombre (σ CODIGO > 2 (PERSONA)) PERSONA (Subconjunto de la relación original) Nombre Edad ERIK 18 ANDREA 27

17 Secuencia de operaciones con otros operadores.
Obtener Código y nombre de los jefes y empleados.  Codigo, Nombre (JEFE U EMPLEADO) Obtener los jefes que no sean empleados con un sueldo igual a 800 σ Sueldo = 800 (JEFE – EMPLEADO) Obtener los Nombres de los empleados que no son jefes, cuyo código sea mayor a 2  Nombre (σ Codigo > 2 (EMPLEADO – JEFE))

18 Secuencia de operaciones con otros operadores.
JEFE  Codigo, Nombre (JEFE U EMPLEADO) Código Nombre Sueldo 5 PEDRO 800 2 EDUARDO 6 ADRIAN 1000 4 NANCY 430 8 JUAN Código Nombre 5 PEDRO 2 EDUARDO 6 ADRIAN 4 NANCY 8 JUAN 1 KEVIN 3 JESSICA EMPLEADO Código Nombre Sueldo 1 KEVIN 550 2 EDUARDO 800 3 JESSICA 240 4 NANCY 430 σ Sueldo = 800 (JEFE – EMPLEADO) Código Nombre Sueldo 5 PEDRO 800 8 JUAN

19 Secuencia de operaciones con otros operadores.
JEFE Código Nombre Sueldo 5 PEDRO 800 2 EDUARDO 300 6 ADRIAN 1000 4 NANCY 430 8 JUAN  Nombre (σ Codigo > 2 (EMPLEADO – JEFE)) Nombre JESSICA EMPLEADO Código Nombre Sueldo 1 KEVIN 550 2 EDUARDO 300 3 JESSICA 240 4 NANCY 430

20 Ejercicio 2. Considere las siguientes tablas:
ADMINISTRATIVO Codigo Nombre Edad Telefono Ciudad 1 Pedro 24 Juan Lacaze 2 SONIA 15 Rosario 3 ERIK 18 4 ANDREA 27 Valdense 5 Juan 25 6 Antonia 22 ENCARGADO Codigo Nombre Edad Telefono Ciudad 1 Pedro 24 Juan Lacaze 7 Antonella 15 Tarariras 10 Rosa 70 4 ANDREA 27 Valdense

21 Resolver: Obtener los Administrativos y Empleados que vivan en Juan Lacaze. Obtener Nombre y Código de los Administrativos que tengan entre 20 y 29 años inclusive. Obtener los Telefonos de los Administrativos que no sean Encargados, mayores a 18 años. Obtener Codigo, Nombre y Edad de los Administrativos que vivan en Rosario o Valdense. Obtener Codigo, Nombre y Ciudad de los Encargados que NO sean de Tarariras.

22 Producto cartesiano PROVINCIA X CIUDAD
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. El producto cartesiano de 2 relaciones se denota: R X S. PROVINCIA X CIUDAD

23 Producto cartesiano. Ejemplo
PROVINCIA CIUDAD Código Nombre Poblacion 5 PICHINCHA 800 2 AZUAY 300 Código Ciudad C1 QUITO C2 CUENCA C3 GUAYAQUIL PROVINCIA X CIUDAD Código Nombre Poblacion Ciudad 5 PICHINCHA 800 C1 QUITO C2 CUENCA C3 GUAYAQUIL 2 AZUAY 300 Cantidad de filas resultantes: 3 X 2 = 6


Descargar ppt "Álgebra relacional."

Presentaciones similares


Anuncios Google