Documente Academic
Documente Profesional
Documente Cultură
Manipulacin de
Datos
Profesor:
MS Luis Serna Jherry
Lenguajes de
Manipulacin de Datos
No Procedimentales:
Se describe la informacin deseada sin
establecer el procedimiento para obtenerla
(Clculo Relacional)
Lenguajes de Manipulacin
de Datos Evolucin
histrica
Junio 1970 E. Codd A relational Model
lgebra Relacional
Es un lenguaje de procedimientos de
alto nivel que permite, mediante el uso
de ciertos operadores, derivar las tablas
deseadas desde las tablas base del
modelo relacional.
lgebra Relacional
Operaciones fundamentales:
Seleccin, Proyeccin, Unin, Diferencia,
Producto Cartesiano y Renombramiento
Otras operaciones, que pueden definirse
en trminos de las operaciones
fundamentales:
Interseccin, Reunin natural (JOIN) y
Divisin
El Algebra Relacional en el
DBMS
Expresin
en lgebra
relacional
SQL
Expresin
optimizada
en lgebra
relacional
Plan de
ejecucin
Cdigo
ejecutable
Generador
de cdigo
analizador
Optimizador de
Consultas
DBMS
Operadores Relacionales
SELECCIN
Extrae tuplas de una
relacin dada que
satisfacen una
condicin especfica.
Smbolo: (sigma)
Trmino Comn: (WHERE)
Notacin: condicin (Relacin)
Operadores Relacionales
SELECCIN
Prestamo
N_Sucursal
#Presta
mo
$Importe
Miraflores
P-17
200,000
La Aurora
P-23
400,000
Lima
Cercado
P-15
300,000
Chacarilla
P-14
300,000
Primavera
P-93
100,000
Surquillo
P-11
180,000
NMolina
La
P-16
Sucursal = <Miraflores>
(Prestamo)
260,000
N_Sucursal
#Presta
mo
$Importe
Miraflores
P-17
200,000
Operadores Relacionales
PROYECCIN
Extrae atributos
especficos de una
relacin dada
Smbolo:
Operadores Relacionales
PROYECCIN
$Importe
P-17
200,000
P-23
400,000
P-15
300,000
P-14
300,000
P-93
100,000
P-11
180,000
P-16
260,000
Operadores Relacionales
Composicin de Operaciones Relacionales
Operadores Relacionales
UNIN
Notacin: R1
R2relaciones deben ser Compatibles: la misma
Las
Operadores Relacionales
EJEMPLO:
Titular_cuenta
Prestatario
N_Cliente
#Presta
mo
N_Client
e
#Cuenta
Santos
C-101
Santos
P-17
Gmez
C-215
Gmez
P-23
Lpez
C-102
Lpez
P-15
Abril
C-305
Soto
P-14
Gonzle
z
C-201
Prez
P-93
Santos
C-217
Gmez
P-11
Fernnde
P-16
Operadores Relacionales
UNION
Operadores Relacionales
DIFERENCIA
R1
R2
Notacin: R1 R2
Smbolo:
Trmino Comn: MINUS
Operadores Relacionales
DIFERENCIA
Operadores Relacionales
PRODUCTO CARTESIANO
R1
A
a1
a2
a3
R2
B
b1
b2
R3
a1
a1
a2
a2
a3
a3
b1
b2
b1
b2
b1
b2
Smbolo:
Trmino Comn: TIMES
Operadores Relacionales
RENOMBRAMIENTO
x (E)
devuelve el resultado de la expresin E con el
nombre X
Smbolo: ro)
Trmino Comn: RENAME
Operadores Relacionales
RENOMBRAMIENTO
Operadores Relacionales
RENOMBRAMIENTO - Ejemplo
Sucursal
cuenta
Miraflores
C-101
100,000
La Aurora
C-215
140,000
Lima Cercado
C-102
saldo
80,000
Operadores Relacionales
RENOMBRAMIENTO - Ejemplo
no son el mximo:
Calcular el producto cartesiano Cuenta x Cuenta
Formar una seleccin sobre el resultado,
comparando los valores de los saldos que aparecen
en una tupla
cuenta.saldo (cuenta.saldo < d.saldo (Cuenta x d (Cuenta) )
Renombramiento Ejemplo
Cuenta x (Cuenta)
d
Cuenta.
Cuenta.
Miraflores
C101 Cuenta.
100,000
d.
d.
100,000
Sucursal
cuenta
saldo
Miraflores
cuenta
saldo C101 100,000
140,000
d.
Miraflores
C101
sucursal
La Aurora
C215
Miraflores
80,000
C101 100,000
La Aurora
100,000
C215 140,000
Miraflores
C101
La Aurora
140,000
C215 140,000
La Aurora
C215
La Aurora
80,000
C215 140,000
Lima CercadoC102
80,000
Miraflores
C101 100,000
Seleccion - Ejemplo
cuenta.saldo < d.saldo (Cuenta x d (Cuenta)
Cuenta.
saldo
Sucursal
Miraflores
Cuenta. Cuenta.
cuenta
C101 saldo
100,000
d. sucursal
d. cuenta d.
La Aurora
C215
140,000
Lima Cercado C102
80,000
Miraflores
C101 100,000
80,000
La Aurora
C215 140,000
Renombramiento Ejemplo
cuenta.saldo (cuenta.saldo < d.saldo (Cuenta x d (Cuenta) )
Cuenta.saldo
100,000
80,000
Renombramiento Ejemplo
saldo
100,000
140,000
80,000
saldo
100,000
80,000
saldo
140,000
Operadores Relacionales
INTERSECCIN
Dadas dos relaciones Compatibles
especficas, construye una tercera
relacin formada por todas las
tuplas que aparecen en ambas
relaciones.
Smbolo:
Trmino Comn: INTERSECT
Notacin: R1 R2
Equivalencia: R1 R2 = R1 - (R1 - R2)
Operadores Relacionales
INTERSECCIN
R1 R2
Resultado:
Cabecera - idntica a la de R1 R2
Cuerpo - todas las tuplas que aparecen en R1 y en
R2 a la vez.
Operadores Relacionales
INTERSECCIN - Ejemplo
#Cuenta
Santos
C-101
Gmez
C-215
Lpez
C-102
Abril
C-305
Gonzle
z
C-201
Prestatario
N_Cliente
#Presta
mo
Santos
P-17
Gmez
P-23
Lpez
P-15
Soto
P-14
Prez
P-93
Gmez
P-11
Operadores Relacionales
INTERSECCIN - Ejemplo
Operadores Relacionales
R2
a1
a2
a3
b1
b2
b3
b1
b2
b4
c1
c2
c4
R3
a1
a2
b1
b2
c1
c2
Smbolo:
Trmino Comn: JOIN
Notacin: R1 R2
Operadores Relacionales
(Prestatario Prstamo)
N_Cliente
#Presta
mo
N_Sucursal
#Presta
mo
$Importe
Santos
P-17
Miraflores
P-17
200,000
Gmez
P-23
La Aurora
P-23
400,000
Lpez
P-15
Lima Cercado
P-15
300,000
Soto
P-14
Chacarilla
P-14
300,000
Prez
P-93
Primavera
P-93
100,000
Gmez
P-11
Surquillo
P-11
180,000
Fernndez
P-16
La Molina
P-16
260,000
Operadores Relacionales
Procedimiento:
Calcular el producto cartesiano de las relaciones
Prestatario y Prstamo:
Prestatario x Prstamo
Seleccionar las tuplas correspondientes al mismo
numero-prstamo:
prestatario.# Prstamo = prstamo.# Prstamo (Prestatario x
Prstamo)
Operadores Relacionales
(Prestatario x Prstamo))
=
Prestatario Prstamo
Operadores Relacionales
(Prestatario Prstamo)
N_Cliente
N_Sucursal
#Presta
mo
$Importe
Santos
Miraflores
P-17
200,000
Gmez
La Aurora
P-23
400,000
Lpez
Lima
Cercado
P-15
300,000
Soto
Chacarilla
P-14
300,000
Prez
Primavera
P-93
100,000
Gmez
Surquillo
P-11
180,000
Fernndez
La Molina
P-16
260,000
Operadores Relacionales
R1
R2
DIVISIN
A
a1
a1
a2
a3
b1
b4
b1
b4
R3
A
a1
B
b1
b4
Smbolo:
Trmino Comn: DIVIDE BY
Notacin: R1 R2
Equivalencia:
T2
T1
( b (R1))
Operadores Relacionales
DIVISIN
(X x R2) subconjunto de R1
Operadores Relacionales
DIVISIN - Ejemplo
N_Sucursal
Titular-cuenta (1)
Cuenta (1)
N_Distrito
N_Cliente
N_Sucursal
Cuent
a
Cuent Saldo
a
Sucursal
N_Sucursal
N_Distrito
Miraflores
Miraflores
La Aurora
Surquillo
Lima Cercado
Lima
Chacarilla
Surco
Primavera
Surco
Surquillo
Surquillo
La Molina
La Molina
Cuent
a
Gonzlez
C-101
Gmez
C-215
Lpez
C-102
Abril
C-305
Gonzlez
C-201
Santos
C-217
Rodrguez
C-222
Lima
Cuenta (1)
N_Sucursal
Cuent
a
Saldo
Chacarilla
C-101
100,000
La Aurora
C-215
140,000
Lima Cercado
C-102
80,000
Chacarilla
C-305
70,000
Primavera
C-201
180,000
Surquillo
C-222
140,000
Operadores Relacionales
DIVISIN - Ejemplo
Operadores Relacionales
DIVISIN - Ejemplo
N_Sucursal
Gonzlez
Chacarilla
Gmez
La Aurora
Lpez
Lima Cercado
Abril
Chacarilla
Gonzlez
Primavera
Santos
La Molina
Rodrguez
Surquillo
Operadores Relacionales
DIVISIN - Ejemplo
Precedencia de
Operadores Relacionales
Proyeccin
Seleccin
Producto cartesiano
JOIN, Divisin
Interseccin
Unin, Diferencia
N_vendedor
C_jefe
N_oficina
%Comision
10
Rodney
Jones
27
Chicago
10
14
Masaji Matsu
44
Tokyo
11
23
Francoise
Moire
35
Bruselas
37
Elena Horna
12
Bs. Aires
13
39
Goro Azuma
44
Tokyo
10
27
Terry
Cardoso
Chicago
15
44
Albert Ige
27
Tokyo
12
35
Brigit Bovary
27
Bruselas
11
42
Bruno
27
Bs. Aires
10
Unin
Si consideramos:
Vendedor_subordinado: todos aquellos que
tienen un jefe
Vendedor_jefe: todos aquellos que son jefe
de alguien
Vendedor = Vendedor_subordinado
Vendedor_jefe
%_COMISION
44
Albert Ige
27
Tokyo
12
35
Brigit Bovary
27
Bruselas
11
12
Bruno Snchez
27
Bs.
Aires
10