La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

09/02/2014Curso Bases de Datos1 Ejemplos Álgebra Relacional.

Presentaciones similares


Presentación del tema: "09/02/2014Curso Bases de Datos1 Ejemplos Álgebra Relacional."— Transcripción de la presentación:

1 09/02/2014Curso Bases de Datos1 Ejemplos Álgebra Relacional

2 09/02/2014Curso Bases de Datos2 S S# Snombre Situacion Ciudad S1 Salazar 20 Londres S2 Jaramillo 10 París S3 Bernal30 París S4 Caicedo 20 Londres S5 Aldana 30 AtenasP P# Pnombre Color Peso Ciudad P1 Tuerca Rojo 12 Londres P2 PernoVerde 17 París P3 Tornillo Azul 17 Roma P4 Tornillo Rojo 14 Londres P5 Leva Azul 12 París P6 Rueda Rojo 19 Londres CP Ciudad de origen de la parte

3 09/02/2014Curso Bases de Datos3 SP SP S# P# Cantidad S1 P1 300 S1 P2 200 S1 P3 400 S1 P4 200 S1 P5 100 S1 P6 100 S2 P1 300 S2 P2 400 S3 P3 200 S4 P2 200 S4 P4 300 S4 P5 400 CP CF hacia S CF hacia P

4 09/02/2014Curso Bases de Datos4 Obtener los nombres de los proveedores que suministran la parte P2. Snombre (S ( P# = P2 (SP) ) ) Obtener los nombres de los proveedores que suministran por lo menos una parte roja Snombre (S ( S# (SP ( P# ( Color= Rojo (P)) )

5 09/02/2014Curso Bases de Datos5 La consulta anterior mediante asignaciones para darle mayor claridad: 1. T1 P# ( Color= Rojo (P)) ( S# (SP T1) ) Snombre (S T2)

6 09/02/2014Curso Bases de Datos6 Obtener los nombres de los proveedores que suministran todas las partes: 1: Se obtiene el listado de todas las partes: T1 P# (P) 2: Se obtienen las partes que suministra cada proveedor: T2 S#,P# (SP) 3: Se realiza la división T3 T2 ÷ T1

7 09/02/2014Curso Bases de Datos7 4: Se ejecuta el join: Snombre (S T3) Colocando todo en una sola expresión: Snombre (S ( ( S#,P# (SP)) ÷ ( P# (P)) ) Ejercicio: Realizar este mismo problema sin usar ÷ en ningún momento

8 09/02/2014Curso Bases de Datos8 Obtener los códigos de los proveedores que suministran al menos todas las partes suministradas por el proveedor S2. 1: Se obtienen las partes que suministra S2: P# S# = S2 (SP)) 2: Se realiza la división: ( S#,P# (SP)) ÷ T1 En una sola expresión: ( S#,P# (SP)) ÷ P# S# = S2 (SP))

9 09/02/2014Curso Bases de Datos9 Ojo: ¿Cuál es el resultado de?: SP ÷ P# ( S# = S2 (SP)) es decir: SP ÷ T1 ¿Cómo se evita que el mismo S2 salga en la respuesta? ( S#,P# ( S# S2 SP)) ÷ P# ( S# = S2 (SP))

10 09/02/2014Curso Bases de Datos10 Obtener los nombres de los proveedores que NO suministran la parte P2. ¿Será esta la respuesta?: Snombre (S S# P# P2 (SP)) ) Entonces, ¿cómo proceder?

11 09/02/2014Curso Bases de Datos11 1: Se obtienen los proveedores que SI suministran la parte P2: = S# P# = P2 (SP)) 2: Se realiza la diferencia: S# S) – T1 3: Ahora un join para obtener el nombre: Snombre (S T2)

12 09/02/2014Curso Bases de Datos12 En una sola expresión: snombre (S ( S# S) – = S# P# = P2 (SP))) )

13 09/02/2014Curso Bases de Datos13 Obtener todos los pares de proveedores tales que los 2 proveedores estén cosituados, es decir, ubicados en la misma ciudad. 1: Se requiere realizar un producto de la tabla consigo misma, renombramos entonces: T1 S(S#aux,City) ( S#,Ciudad (S)) 2: Sea T2 S#,Ciudad (S) 3: T3 T1 x T2 = 4: S#,S#aux ( Ciudad = City (T3)) ¿Cómo eliminar las parejas redundantes? Ejercicio: Realizarlo con join en vez de producto

14 09/02/2014Curso Bases de Datos14 Obtener el código y el número de partes que suministra cada proveedor: S# Ģ Count(P#) AS conteo (SP) Obtener el nombre y la cantidad total de partes que suministra cada proveedor: Snombre,Total (S ( S# Ģ Sum(Cantidad) AS Total (SP)))

15 09/02/2014Curso Bases de Datos15 Obtener las ciudades de donde provienen más de 4 partes rojas. 1: Se obtienen las partes rojas = T1 Color = Rojo (P) 2: Se obtiene el total de partes rojas de cada ciudad y se le da un nombre al conteo (alternativamente al operador AS se usa ): T2 C(City, #rojas) ( Ciudad Ģ Count(P#) T1) ) 3: Se realiza la restricción final: City #rojas > 4 T2))

16 09/02/2014Curso Bases de Datos16 Ejercicio: Obtener las ciudades de donde provienen menos de 4 partes rojas. ¿Es la solución de este problema simplemente cambiar el operador > por < ? Ojo: Tener cuidado con las ciudades de las cuales no proviene ni una sola parte roja…


Descargar ppt "09/02/2014Curso Bases de Datos1 Ejemplos Álgebra Relacional."

Presentaciones similares


Anuncios Google