Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Ejemplos Cálculo Relacional
Francisco Moreno 04/12/2018 Curso Bases de Datos
2
CP CA S P CP s# snombre situacion ciudad S1 Salazar 20 Londres
S2 Jaramillo París S3 Bernal París S4 Caicedo Londres S5 Aldana Atenas P p# pnombre color peso ciudad P1 Tuerca Rojo Londres P2 Perno Verde París P3 Tornillo Azul Roma P4 Tornillo Rojo Londres P5 Leva Azul París P6 Rueda Rojo Londres CP 04/12/2018 Curso Bases de Datos
3
SP s# p# cantidad S1 P1 300 S1 P2 200 S1 P3 400 S1 P4 200 S1 P5 100
CF hacia P SP s# p# cantidad S1 P S1 P S1 P S1 P S1 P S1 P S2 P S2 P S3 P S4 P S4 P S4 P CF hacia S CP 04/12/2018 Curso Bases de Datos
4
Se resolverán algunos de los ejemplos presentados en álgebra y SQL.
Obtener los datos de todos los proveedores de Paris con situación mayor a 10. {sx | sx Î S Ù sx[ciudad] = ‘Paris’ Ù sx[situacion] > 10 } 04/12/2018 Curso Bases de Datos
5
Obtener solo los códigos de los proveedores de Roma.
{t | $ sx Î S ( t[s#] = sx[s#] Ù sx[ciudad] = ‘Roma’ ) } t está definida sobre t[s#] 04/12/2018 Curso Bases de Datos
6
{sx |sx Î S Ù $ spx Î SP (sx[s#] = spx[s#] Ù spx[p#] = ‘P2’ ) }
Obtener todos los datos de los proveedores que suministran el producto P2. {sx |sx Î S Ù $ spx Î SP (sx[s#] = spx[s#] Ù spx[p#] = ‘P2’ ) } 04/12/2018 Curso Bases de Datos
7
{t | $ sx Î S (t[snombre] = sx[snombre] Ù
Obtener solo los nombres de los proveedores que suministran el producto P2. {t | $ sx Î S (t[snombre] = sx[snombre] Ù $ spx Î SP (sx[s#] = spx[s#] Ù spx[p#] = ‘P2’ ) } t está definida sobre t[snombre] 04/12/2018 Curso Bases de Datos
8
{t | $ sx Î S (t[snombre] = sx[snombre] Ù
Obtener los nombres de los proveedores que NO suministran el producto P2. {t | $ sx Î S (t[snombre] = sx[snombre] Ù Ø $ spx Î SP (sx[s#] = spx[s#] Ù spx[p#] = ‘P2’ ) } 04/12/2018 Curso Bases de Datos
9
(t[snombre] = sx[snombre] Ù px Î P ($ spx Î SP (sx[s#] = spx[s#] Ù
Obtener solo los nombres de los proveedores que suministran todos los productos: {t | $ sx Î S (t[snombre] = sx[snombre] Ù px Î P ($ spx Î SP (sx[s#] = spx[s#] Ù px[p#] = spx[p#] ) } 04/12/2018 Curso Bases de Datos
10
(t[snombre] = sx[snombre] Ù $ spx Î SP (sx[s#] = spx[s#] Ù
Obtener los nombres de los proveedores que suministran por lo menos un producto rojo {t | $ sx Î S (t[snombre] = sx[snombre] Ù $ spx Î SP (sx[s#] = spx[s#] Ù $ px Î P (spx[p#] = px[p#] Ù px[color] = ‘Rojo’ ) } 04/12/2018 Curso Bases de Datos
11
O intercambiando los dos $ internos: {t | $ sx Î S
(t[snombre] = sx[snombre] Ù $ px Î P (px[color] = ‘Rojo’ Ù $ spx Î SP (spx[s#] = sx[s#] Ù spx[p#] = px[p#] ) } 04/12/2018 Curso Bases de Datos
12
sx1[ciudad] = sx2[ciudad] ) } ¿Qué pasa si se incluye la condición:
Imprimir los códigos de las parejas de proveedores que están situados en la misma ciudad. {t | $ sx1 Î S ( $ sx2 Î S ( t[s# AS s#1] = sx1[s#] Ù t[s# AS s#2] = sx2[s#] Ù sx1[ciudad] = sx2[ciudad] ) } ¿Qué pasa si se incluye la condición: sx1[s#] < sx2[s#] en esta consulta? 04/12/2018 Curso Bases de Datos
13
Ej: ¿Qué hace la siguiente consulta?
El cálculo (originalmente) no incluye operaciones de agregación (similares al operador Ģ del álgebra), aun así hay algunos problemas de agregación que se pueden resolver en cálculo Ej: ¿Qué hace la siguiente consulta? {t | t Î P Ù Ø $ px Î P (px[peso] < t[peso])} 04/12/2018 Curso Bases de Datos
14
Ejercicios: Resolver la consulta anterior usando en vez de $
Obtener los nombres de los proveedores que no venden productos rojos Obtener los nombres de los proveedores que suministran al menos todos los productos suministrados por el proveedor S2 04/12/2018 Curso Bases de Datos
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.