Está en la página 1de 19

Diseo de Bases de Datos

lgebra Relacional
Curso 2016

Operaciones
Operacin

Notacin
Produce
p (T)
contiene

Funcin

una
tabla
que
Seleccin
nicamente aquellas
tuplas de T que satisfacen el
predicado p.
Produce una tabla que tiene un
a1,,
Proyeccin
subconjunto de atributos de T
eliminando tuplas duplicadas.
an(T)
Produce
una
tabla
que
Unin
T 1 T2
contiene todas las tuplas de T1
o
T2 ,
eliminando
tuplas
duplicadas. T1 y T2 deben ser
Los esquemas compatibles son equivalentes en
compatibles.
cantidad, posicin y dominio de
los atributos, aunque los

nombres de los atributos pueden diferir.

Operaciones
Operacin

Notacin

Diferencia

T 1 T2

Interseccin

T 1 T2

Producto
Cartersiano

T1 X T2

Funcin
Produce
una
tabla
que
contiene todas las tuplas de T1
que no se encuentran en T2. T1
y T2 deben ser compatibles.
Produce
una
tabla
que
contiene todas las tuplas que
se encuentran tanto en T1
como en T2. T1 y T2 deben ser
compatibles.
Produce
una
tabla

concatenando cada tupla de T1


con todas las tuplas de T2.

Operaciones
Operacin

Notacin

Combinaci
n Natural

T1 |X| T2

Combinaci
n theta

T1 |X| T2

Combinaci
n externa
izquierda

T1 X| T2

Funcin
Produce
una
tabla
concatenando
tuplas
de
ambas tablas que tengan
valores iguales en atributos
con
igual
nombre
(equicombinacin). Se elimina
Produce
una
tabla que de cada
uno
de los
ejemplares
contienecomn
las tuplas de la
atributo
combinacin natural de T1 y T2
que cumplen el una
predicado .
Produce
tabla

concatenando a cada tupla de


T1 la tupla de T2 que tenga
valores iguales para atributos

Operaciones
Operacin
Divisin

Notacin

T1

T1

T2

a1

b1

b1

a1

b2

b3

a1

b3

a2

b1

a3

b2

Renombrad
o

Funcin

Produce una tabla con los


atributos de T1 que no estn
T2
en T2, cuyas tuplas se
T1 T2 corresponden con TODAS las
tuplas de T2
A
a1

Divisin: T1 T2 A(T1) A((A(T1) T2)


T1)

donde A es la lista de atributos de


T1 que no estn
en T2 .la tabla Table a T.
Renombra

Ejemplos
Factura = (nroFac, fecha, fPago, dto)
Producto = (codProd, desc, existAct,
existMin, pVAct)
Venta = (nroFac(fk), codProd(fk), cant,
pvu)

Operaciones
Unarias
Obtencin de tuplas de una nica tabla,

con algunos o todos los atributos de la


misma tabla (filtrado de tuplas o de
atributos)

Operaciones
Unarias
Factura = (nroFac, fecha, fPago, dto)
Producto = (codProd, desc, existAct,
existMin, pVAct)
Venta = (nroFac(fk), codProd(fk), cant, pvu)
Seleccin o filtro de tuplas:

productos con existencia actual


menor o igual a la mnima

existAct

(Producto)
existMin

Operaciones
Unarias

Obtencin de tuplas de una nica tabla, con


algunos o todos los atributos de la misma
(filtrado
tuplasfecha,
o de fPago,
atributos).
Factura =de
(nroFac,
dto)
Producto = (codProd, desc, existAct,
existMin, pVAct)
Venta = (nroFac(fk), codProd(fk), cant, pvu)
Proyeccin o filtro de atributos: cdigo y

descripcin de productos.

(Producto)
codProd, desc

10

Operaciones
Unarias

Factura = (nroFac, fecha, fPago, dto)


Producto = (codProd, desc, existAct,
existMin, pVAct)
Venta = (nroFac(fk), codProd(fk), cant, pvu)
Proyeccin y seleccin: cdigo y

descripcin de productos con existencia


actual menor o igual a la mnima.

(Producto))
codProd, desc( (existAct

existMin)

11

Operaciones de Combinacin
de Tablas
Obtencin de tuplas de ms de una

tabla (o de copias de tablas), con


atributos de todas las tablas.

12

Operaciones de Combinacin
de Tablas
Factura = (nroFac, fecha, fPago, dto)
Producto = (codProd, desc, existAct,
existMin, pVAct)
Venta = (nroFac(fk), codProd(fk), cant, pvu)
Combinacin de tablas: Cdigo y

descripcin de productos que aparezcan


en ventas. De las ventas se debe
proyectar el nmero de factura.
(Producto X Venta)
)
Producto.codProd, (

desc ,
nroFact

(Producto.codProd Venta.codProd)

Notar que el atributo codProd resulta ambiguo y


es necesario especificar la tabla a la que hace

13

Operaciones de Combinacin
de Tablas
Factura = (nroFac, fecha, fPago, dto)
Producto = (codProd, desc, existAct,
existMin, pVAct)
Venta = (nroFac(fk), codProd(fk), cant, pvu)
Combinacin de tablas: Cdigo y

descripcin de productos que aparezcan


en ventas. De las ventas se debe
proyectar el nmero de factura.
Producto.codProd,
(Producto |X| Venta)

desc ,
nroFact

14

Operaciones de Combinacin
de Tablas

Factura = (nroFac, fecha, fPago, dto)


Producto = (codProd, desc, existAct,
existMin, pVAct)
Venta = (nroFac(fk), codProd(fk), cant, pvu)
Combinacin de tablas: Descripcin y

existencia actual de productos que


aparezcan en ventas.

desc,
existAct

|X|
(Vent
(Producto
)
)
(codProd,
desc, existAct

codProd
a)

15

Operaciones de Combinacin
de Tablas

Factura = (nroFac, fecha, fPago, dto)


Producto = (codProd, desc, existAct,
existMin, pVAct)
Venta = (nroFac(fk), codProd(fk), cant, pvu)
Combinacin de tablas: Productos con

misma descripcin y diferente stock.

(Producto )|X|
(

P2
(Producto.desc = P2.desc) ^

desc,
existAct Producto. existAct <> P2. existAct )

(Product)
o)

16

Operaciones con Subconsulta


de Tablas
Obtencin de tuplas con atributos de

una o ms tablas a partir de las tablas de


las que se obtiene resultados y de una o
ms tablas adicionales

17

Operaciones con Subconsulta


de Tablas
Factura = (nroFac, fecha, fPago, dto)
Producto = (codProd, desc, existAct,
existMin, pVAct)
Venta = (nroFac(fk), codProd(fk), cant, pvu)
Subconsulta de tablas: cdigo y

descripcin de productos que no se hayan


vendido en septiembre de 2016.
Producto.codProd,
(Producto) desc
|X|
)
)
Producto.codProd, ( (Producto |X| Venta
((01-09-2016
fecha
desc
(Factura) 30-09-2016 )

Operaciones con Subconsulta


de Tablas

18

Factura = (nroFac, fecha, fPago, dto)


Producto = (codProd, desc, existAct,
existMin, pVAct)
Venta = (nroFac(fk), codProd(fk), cant, pvu)
Subconsulta de tablas: cdigo y

descripcin de productos que se hayan


vendido todos los das de septiembre de
(Producto
|X|
Venta
(
(Factura)
)
2016
que
hubo ventas.
codProd,
desc,
01-09-2016 fecha 30-

fecha

fecha(

09-2016

(Factura) )

01-09-2016 fecha 3009-2016

Actualizacin de Tablas en AR
Producto(codProd, desc, existAct, existMin, pVAct)
Incorporar el producto (1235, clavos de 9 mm, 100, 50,

10):
Producto Producto {(1235, clavos de 9 mm, 100, 50,
10)}
Eliminar el producto 893:

Producto Producto

codProd=893(Producto)

Aumentar el 1% el precio de venta actual de todos

los productos:

También podría gustarte