Está en la página 1de 19

Diseño de Bases de Datos

1

Álgebra Relacional
Curso 2016

Produce una tabla que tiene un a1. . Proyección subconjunto de atributos de T eliminando tuplas duplicadas. cantidad. an(T) Produce una tabla que Unión T 1  T2 contiene todas las tuplas de T1 o T2 .2 Operaciones Operación Notación Produce p (T) contiene Función una tabla que Selección únicamente aquellas tuplas de T que satisfacen el predicado p. eliminando tuplas duplicadas. posición y dominio de los atributos. T1 y T2 deben ser Los esquemas compatibles son equivalentes en compatibles. aunque los  nombres de los atributos pueden diferir.….

T1 y T2 deben ser compatibles. Produce una tabla concatenando cada tupla de T1 con todas las tuplas de T2.3 Operaciones Operación Notación Diferencia T 1  T2 Intersección T 1  T2 Producto Cartersiano T1 X T2 Función 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.

4 Operaciones Operación Notación Combinació n Natural T1 |X| T2 Combinació n theta T1 |X| T2 Combinació n externa izquierda T1 X| T2 Función Produce una tabla concatenando tuplas de ambas tablas que tengan valores iguales en atributos con igual nombre (equicombinación). Produce tabla concatenando a cada tupla de T1 la tupla de T2 que tenga valores iguales para atributos . Se elimina Produce una tabla que de cada uno de los ejemplares contienecomún las tuplas de la atributo combinación natural de T1 y T2 que cumplen el una predicado .

5 Operaciones Operación División Notación T1  T1 T2 A B B a1 b1 b1 a1 b2 b3 a1 b3 a2 b1 a3 b2 Renombrad o Función Produce una tabla con los atributos de T1 que no están T2 en T2. Renombra . cuyas tuplas se T1  T2 corresponden con TODAS las tuplas de T2 A a1 División: T1  T2  A(T1) – A((A(T1)  T2) – T1)  T donde A es la lista de atributos de T1 que no están en T2 .la tabla Table a T.

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

7 Operaciones Unarias • Obtención de tuplas de una única tabla. con algunos o todos los atributos de la misma tabla (filtrado de tuplas o de atributos) .

8 Operaciones Unarias Factura = (nroFac. fPago. dto) Producto = (codProd. desc. cant. codProd(fk). existAct. pvu) •Selección o filtro de tuplas: productos con existencia actual menor o igual a la mínima  existAct  (Producto) existMin . existMin. fecha. pVAct) Venta = (nroFac(fk).

codProd(fk). dto) Producto = (codProd. atributos). (Producto) codProd. pVAct) Venta = (nroFac(fk). desc. existAct. existMin. o de fPago. Factura =de (nroFac. pvu) •Proyección o filtro de atributos: código y descripción de productos. cant.9 Operaciones Unarias Obtención de tuplas de una única tabla. con algunos o todos los atributos de la misma (filtrado tuplasfecha. desc .

10 Operaciones Unarias Factura = (nroFac. (Producto)) codProd. existAct. desc( (existAct   existMin) . cant. fPago. existMin. dto) Producto = (codProd. pvu) •Proyección y selección: código y descripción de productos con existencia actual menor o igual a la mínima. codProd(fk). desc. pVAct) Venta = (nroFac(fk). fecha.

con atributos de todas las tablas.11 Operaciones de Combinación de Tablas Obtención de tuplas de más de una tabla (o de copias de tablas). .

codProd) Notar que el atributo codProd resulta ambiguo y es necesario especificar la tabla a la que hace . (  desc . desc.12 Operaciones de Combinación de Tablas Factura = (nroFac. fecha. codProd(fk). pVAct) Venta = (nroFac(fk).codProd  Venta. dto) Producto = (codProd. cant. nroFact  (Producto. existMin. (Producto X Venta) ) Producto. De las ventas se debe proyectar el número de factura. fPago.codProd. existAct. pvu) •Combinación de tablas: Código y descripción de productos que aparezcan en ventas.

cant. fecha. fPago. desc. existAct. De las ventas se debe proyectar el número de factura. existMin. dto) Producto = (codProd. nroFact . pVAct) Venta = (nroFac(fk).codProd. Producto. pvu) •Combinación de tablas: Código y descripción de productos que aparezcan en ventas. codProd(fk).13 Operaciones de Combinación de Tablas Factura = (nroFac. (Producto |X| Venta)  desc .

cant. desc. existMin. existAct  codProd a) . pvu) •Combinación de tablas: Descripción y existencia actual de productos que aparezcan en ventas. dto) Producto = (codProd. fecha. fPago.  desc.14 Operaciones de Combinación de Tablas Factura = (nroFac. codProd(fk). existAct. existAct |X| (Vent (Producto ) ) (codProd. pVAct) Venta = (nroFac(fk).  desc.

15 Operaciones de Combinación de Tablas Factura = (nroFac.  (Producto )|X|  (  P2 (Producto. codProd(fk).desc) ^ desc. desc. fecha. cant. existAct Producto. pvu) •Combinación de tablas: Productos con misma descripción y diferente stock. existAct <> P2. dto) Producto = (codProd. existAct ) (Product) o) . fPago. pVAct) Venta = (nroFac(fk).desc = P2. existAct. existMin.

16 Operaciones con Subconsulta de Tablas Obtención de tuplas con atributos de una o más tablas a partir de las tablas de las que se obtiene resultados y de una o más tablas adicionales .

Producto. dto) Producto = (codProd. (Producto) desc |X| ) ) Producto. fPago.codProd. ( (Producto |X| Venta ((‘01-09-2016’ fecha  desc (Factura) ‘30-09-2016’ )    . existMin. cant. codProd(fk). pVAct) Venta = (nroFac(fk).codProd. desc.17 Operaciones con Subconsulta de Tablas Factura = (nroFac. fecha. pvu) •Subconsulta de tablas: código y descripción de productos que no se hayan vendido en septiembre de 2016. existAct.

fPago. codProd(fk). pvu) •Subconsulta de tablas: código y  descripción de productos que se hayan vendido todos los días de septiembre de (Producto |X| Venta ( (Factura) ) 2016 que hubo ventas. existAct. fecha. desc. dto) Producto = (codProd. desc. cant. codProd. pVAct) Venta = (nroFac(fk).Operaciones con Subconsulta de Tablas 18 Factura = (nroFac. ‘01-09-2016’ fecha ‘30-  fecha   fecha( 09-2016’ (Factura) ) ‘01-09-2016’ fecha ‘3009-2016’ . existMin.

pVAct)  Incorporar el producto (1235. existAct. 100. 50.Actualización de Tablas en AR Producto(codProd. 10): Producto  Producto  {(1235. desc. 50. 100. 10)}  Eliminar el producto 893: Producto  Producto – codProd=893(Producto)  Aumentar el 1% el precio de venta actual de todos los productos: . “clavos de 9 mm”. “clavos de 9 mm”. existMin.