algebrarelacional-110425153604-phpapp02
TRANSCRIPT
-
8/17/2019 algebrarelacional-110425153604-phpapp02
1/54
Lenguajes de
Manipulación deDatos
Profesor:
MS Luis Serna Jherry
-
8/17/2019 algebrarelacional-110425153604-phpapp02
2/54
Lenguajes de
Manipulación de Datos Son lenguajes que el usuario utiliza para
consultar y modifcar la base de datos.
Procedimentales: Se instruye al sistema para llevar a cabo
una serie de operaciones en la D paracalcular el resultado !"lgebra #elacional$
%o Procedimentales: Se describe la in&ormación deseada sin
establecer el procedimiento para obtenerla!'(lculo #elacional$
-
8/17/2019 algebrarelacional-110425153604-phpapp02
3/54
Lenguajes de Manipulación
de Datos ) *volución+istórica ,unio -/0 ) *. 'odd “A relational Modelof data for large shared databanks”
-/1 ) S*23*L !laboratorios de 4M$ -/5 ) S2L !S*23*L 6$ D7cada del 80 ) Se comercializan
productos basados en S2L S2L985 S2L98 S2L96 *st(ndares ;%S4 S2L9 para soporte de datos de
naturaleza compleja
-
8/17/2019 algebrarelacional-110425153604-phpapp02
4/54
"lgebra #elacional
*s un lenguaje de procedimientos dealto nivel que permite mediante el uso
de ciertos operadores derivar las tablasdeseadas desde las tablas base delmodelo relacional.
'onsta de un conjunto de operadoresque toman como entrada una o dosrelaciones y producen como resultadouna nueva relación.
-
8/17/2019 algebrarelacional-110425153604-phpapp02
5/54
"lgebra #elacional
-
8/17/2019 algebrarelacional-110425153604-phpapp02
6/54
*l ;lgebra #elacional en elDMS
analizador
SQL
Expresión
en álgebra
relacional
Expresión
optimizada
en álgebra
relacional
Optimizador de
Consultas
Generador de código
Plan de
ejecución
Código
ejecutable
D!S
-
8/17/2019 algebrarelacional-110425153604-phpapp02
7/54
Extrae tuplas de una
relación dada "ue
satis#acen unacondición espec$#ica%
S$mbolo& σ 'sigma(
)*rmino Com+n& ',-E.E(
-
8/17/2019 algebrarelacional-110425153604-phpapp02
8/54
Presta
mo?4mporte
Mira@ores PA-/ 600000
La ;urora PA6B 100000
Lima'ercado
PA-C B00000
'+acarilla PA-1 B00000
Primavera PAB -00000
Surquillo PA-- -80000La Molina PA-5 650000σ / Sucursal 0 1!ira#lores2 'Prestamo(
%=Sucursal >Prestamo
?4mporte
Mira@ores PA-/ 600000
-
8/17/2019 algebrarelacional-110425153604-phpapp02
9/54
Extrae atributos
espec$#icos de una
relación dada
S$mbolo& Π
)*rmino Com+n& P.O3EC)
-
8/17/2019 algebrarelacional-110425153604-phpapp02
10/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
11/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
12/54
Constru;e una relación#ormada por todas las
tuplas "ue aparecen en
cual"uiera de dos
relaciones especi#icas5
eliminándose las
duplicadas
S$mbolo& ∪)*rmino Com+n&
-
8/17/2019 algebrarelacional-110425153604-phpapp02
13/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
14/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
15/54
Dadas dos relaciones
espec$#icas5 constru;e una
tercera relación #ormada
por todas las tuplas de la primera relación "ue no
aparecen en la segunda%
S$mbolo&
)*rmino Com+n& !:/
-
8/17/2019 algebrarelacional-110425153604-phpapp02
16/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
17/54
Dadas dos relaciones
espec$#icas5 constru;e
una tercera relación "ue
contiene todas las
combinaciones posibles
de tuplas5 una de cada
una de las relaciones%
A
a1
a1a2a2a3a3
R3b1
b2b1b2b1b2
B
R2
X
A
B
a1a2a3
b1b
2
R1
S$mbolo&
)*rmino Com+n& ):!ES
-
8/17/2019 algebrarelacional-110425153604-phpapp02
18/54
Los resultados de las expresiones de álgebra
relacional no tienen nombre5 a pesar de ser relaciones%
Dada una expresión E5 la expresión
ρ x 'E(
de=uel=e el resultado de la expresión E con el
nombre ?S$mbolo& ρ (ro(
)*rmino Com+n& .E/7!E
-
8/17/2019 algebrarelacional-110425153604-phpapp02
19/54
)ambi*n es +til para renombrar los atributos de una
relación&
La expresión
ρ ? '745 765 %%%5 7n( 'E(
de=uel=e el resultado de la expresión E con el
nombre ? ; con los atributos con el nombre
cambiado a 745 765 %%%%5 7n
-
8/17/2019 algebrarelacional-110425153604-phpapp02
20/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
21/54
Calcular una relación intermedia con los saldos "ue
no son el máximo&
@ Calcular el producto cartesiano Cuenta x Cuenta
@ Aormar una selección sobre el resultado5
comparando los =alores de los saldos "ue aparecen
en una tupla
Π
cuenta%saldo 'σ cuenta%saldo 1 d%saldo 'Cuenta x ρ d 'Cuenta( (
-
8/17/2019 algebrarelacional-110425153604-phpapp02
22/54
'uenta I ρ d !'uenta$
#enombramiento A*jemplo
Mira@ores '-0- -00000 Mira@ores '-0--00000
Mira@ores '-0- -00000 La ;urora '6-C-10000
Mira@ores '-0- -00000 Lima 'ercado '-0680000
La ;urora '6-C -10000 Mira@ores '-0--00000
La ;urora '6-C -10000 La ;urora '6-C-10000
La ;urora '6-C -10000 Lima 'ercado'-0680000
Lima 'ercado '-06 80000 Mira@ores '-0- -00000
'uenta. 'uenta.'uenta. d.d. d.Sucursal cuenta saldo sucursalcuenta saldo
-
8/17/2019 algebrarelacional-110425153604-phpapp02
23/54
Seleccion A *jemploσ cuenta.saldo K d.saldo ''uenta x ρ d ''uenta(
Mira@ores '-0- -00000 La ;urora '6-C-10000
Lima 'ercado '-06 80000 Mira@ores '-0- -00000
Lima 'ercado '-06 80000 La ;urora '6-C -10000
'uenta. 'uenta. 'uenta. d. sucursal d. cuenta d.saldo
Sucursal cuenta saldo
-
8/17/2019 algebrarelacional-110425153604-phpapp02
24/54
#enombramiento A*jemplo
Π cuenta.saldo 'σ cuenta.saldo K d.saldo ''uenta x ρ d ''uenta( (
'uenta.saldo
-00000
80000
-
8/17/2019 algebrarelacional-110425153604-phpapp02
25/54
#enombramiento A
*jemplo.ealizar la di#erencia entre ΠΠ saldo 'Cuenta( ; larelación intermedia calculada%
Π saldo
''uenta( Π cuenta.saldo
'σcuenta.saldo K d.saldo
''uenta x ρ d ''uenta( (
saldo
-00000
-10000
80000
saldo
-00000
80000=
saldo-10000
-
8/17/2019 algebrarelacional-110425153604-phpapp02
26/54
Dadas dos relaciones Compatibles
espec$#icas5 constru;e una tercera
relación #ormada por todas las
tuplas "ue aparecen en ambasrelaciones%
-
8/17/2019 algebrarelacional-110425153604-phpapp02
27/54
.esultado&
Cabecera B id*ntica a la de .4 ó .6Cuerpo B todas las tuplas "ue aparecen en .4 ; en
.6 a la =ez%
-
8/17/2019 algebrarelacional-110425153604-phpapp02
28/54
Prestamo
Santos PA-/
ómez PA6BLópez PA-C
Soto PA-1
P7rez PAB
ómez PA--
-
8/17/2019 algebrarelacional-110425153604-phpapp02
29/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
30/54
Dadas dos relaciones
espec$#icas5 constru;e
una tercera relación "uecombina ciertas
selecciones5 pro;ección
; un producto
cartesiano en una solaoperación%
R2Θ
A B
a1a2a3
b1b2b3
R1
B
b1b2b4
C
124
A
a1a2
R312
C
b1b2
B
S$mbolo& Θ
)*rmino Com+n& 3O:/
/otación& R1 Θ R2
-
8/17/2019 algebrarelacional-110425153604-phpapp02
31/54
Presta
moSantos PA-/
ómez PA6B
López PA-C
Soto PA-1
P7rez PAB
ómez PA--
Fern(ndez PA-5
%=Sucursal>Presta
mo?4mporte
Mira@ores PA-/ 600000
La ;urora PA6B 100000
Lima 'ercado PA-C B00000
'+acarilla PA-1 B00000
Primavera PAB -00000
Surquillo PA-- -80000
La Molina PA-5 650000
-
8/17/2019 algebrarelacional-110425153604-phpapp02
32/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
33/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
34/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
35/54
Dadas .4 ; .65 donde .6 ⊆ .4 'lacabecera de .6 es un subconjunto de la
cabecera de .4(, Se constru;e una nue=arelación #ormada por los atributos de .4
"ue no están en .65 donde los =alores de
los otros atributos concuerdan con todoslos =alores de la relación .6%A
a1
R3
R2
A B
a1a1a2a3
b1b4b1b4
R1
B
b1b4
S$mbolo& ÷
)*rmino Com+n& D::DE F
/otación& .4 ÷ .6
-
8/17/2019 algebrarelacional-110425153604-phpapp02
36/54
La relación resultante de .4 ÷ .6 es como sigue&
Cabecera & ?
Cuerpo & tuplas '?&x( tales "ue ∃ '?&x5 F&;( en .4 para todas las
tuplas 'F&;( en .6
#- ÷ #6 y ! I #6$ subconjunto de #-
-
8/17/2019 algebrarelacional-110425153604-phpapp02
37/54
!allar todos los clientes "ue tengan abierta una cuenta
en todas las sucursales de Surco
-
8/17/2019 algebrarelacional-110425153604-phpapp02
38/54
'uenta !-$ GitularAcuenta !-$%='liente 'uent
a
González C-101
Gómez C-215López C-102
Abril C-305
González C-201
Santos C-217
Rodrígez C-222
%=Sucursal 'uenta
Saldo
C!a"arilla C-101 100#000
La Arora C-215 1%0#000
Lima Cer"ado C-102 &0#000
C!a"arilla C-305 70#000
'rima(era C-201 1&0#000
Sr)illo C-222 1%0#000
%=Sucursal %=Distrito
*ira+lores *ira+lores
La Arora Sr)illo
Lima Cer"ado Lima
C!a"arilla Sr"o
'rima(era Sr"o
Sr)illo Sr)illo
La *olina La *olina
,arrios Altos Lima
Sucursal
-
8/17/2019 algebrarelacional-110425153604-phpapp02
39/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
40/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
41/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
42/54
Precedencia de
-
8/17/2019 algebrarelacional-110425153604-phpapp02
43/54
Ejemplos de Operaciones .elacionales
'onsidere el siguiente esquema relacional:
'L4*%G*: !'=cliente %=cliente G=cli=direccion %pais ?Saldo4ni?Saldo;ct$
N*%D*D
-
8/17/2019 algebrarelacional-110425153604-phpapp02
44/54
Ejemplos de Operaciones .elacionales
C_$endedor N_$endedor C_%e&e N_o'cina (Comision
-0 #odney ,ones
6/ '+icago -0
-1 Masaji Matsu 11 Goyo --6B FrancoiseMoire
BC ruselas
B/ *lena Qorna -6 s. ;ires -B
B oro ;zuma 11 Goyo -0
6/ Gerry'ardoso
'+icago -C
11 ;lbert 4ge 6/ Goyo -6
BC rigit ovary 6/ ruselas --
16 runo 6/ s. ;ires -0
-
8/17/2019 algebrarelacional-110425153604-phpapp02
45/54
3nión3nión
Ejemplos de Operaciones .elacionales
Si consideramos:Si consideramos:
)endedor_subordinado)endedor_subordinado: todos aquellos que: todos aquellos quetienen un je&etienen un je&e
)endedor_%e&e)endedor_%e&e: todos aquellos que son je&e: todos aquellos que son je&ede alguiende alguien
)endedor * )endedor_subordinado)endedor * )endedor_subordinado∪
)endedor_%e&e)endedor_%e&e
-
8/17/2019 algebrarelacional-110425153604-phpapp02
46/54
,e&es de nivel intermedio: ,e&es de nivel intermedio:
Nendedor=subordinadoNendedor=subordinado ∩∩ Nendedor=je&eNendedor=je&e
4ntersección4ntersecciónEjemplos de Operaciones .elacionales
C.//R .//R C/4/ 4CA 6C*S
%% Albert ge 27 o89o 12
35 ,rigit ,o(ar9 27 ,rselas 11
12 ,rno Sán"!ez 27 ,s:
Aires
10
-
8/17/2019 algebrarelacional-110425153604-phpapp02
47/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
48/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
49/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
50/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
51/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
52/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
53/54
-
8/17/2019 algebrarelacional-110425153604-phpapp02
54/54