0% encontró este documento útil (0 votos)
159 vistas9 páginas

Operaciones del Álgebra Relacional en SQL

El documento habla sobre el álgebra relacional, que describe un conjunto de operaciones para computar respuestas sobre relaciones de una base de datos. Describe las operaciones básicas como selección, proyección, producto cartesiano, unión y diferencia. Luego presenta ejemplos de consultas expresadas con estas operaciones sobre diferentes bases de datos.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
159 vistas9 páginas

Operaciones del Álgebra Relacional en SQL

El documento habla sobre el álgebra relacional, que describe un conjunto de operaciones para computar respuestas sobre relaciones de una base de datos. Describe las operaciones básicas como selección, proyección, producto cartesiano, unión y diferencia. Luego presenta ejemplos de consultas expresadas con estas operaciones sobre diferentes bases de datos.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

ALGEBRA RELACIONAL

Es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como stas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Clculo relacional que es de tipo declarativo.

Describe el aspecto de la manipulacin de datos. Estas operaciones se usan como una representacin intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de dicha consulta. Operaciones bsicas

Cada operador del lgebra acepta una o dos relaciones y retorna una relacin como resultado. y son operadores usuarios, el resto de los operadores son binarios. Las operaciones bsicas del lgebra relacional son:

Seleccin () Permite seleccionar un subconjunto de tuplas de una relacin (R), todas aquellas que cumplan la(s) condicin(es) P, esto es: Proyeccin () Permite extraer columnas (atributos) de una relacin, dando como resultado un subconjunto vertical de atributos de la relacin, esto es:

Producto cartesiano (x) El producto cartesiano de dos relaciones se escribe como:

y entrega una relacin, cuyo esquema corresponde a una combinacin de todas las tuplas de R con cada una de las tuplas de S, y sus atributos corresponden a los de R seguidos por los de S.

Unin ()

La operacin

Retorna el conjunto de tuplas que estn en R, o en S, o en ambas. R y S deben ser uniones compatibles. Diferencia (-)

La diferencia de dos relaciones, R y S denotada por:

Entrega todas aquellas tuplas que estn en R, pero no en S. R y S deben ser uniones compatibles. Estas operaciones son fundamentales en el sentido en que (1) todas las dems operaciones pueden ser expresadas como una combinacin de stas y (2) ninguna de estas operaciones pueden ser omitidas sin que con ello se pierda informacin.

EJERCICIO 1

Sea la siguiente base de datos:

PROVEEDORES (nro.-p, nom-p, categora, ciud-p)

TEMS (nro.-i, descripcin-i, ciud.i)

PEDIDOS (nro.-p, nro-c, nro-i, cantida, precio)

Clientes (nro.-c, nom-c, ciud-c)

1. Listar los proveedores de crdoba.

nom-p ( ciud-p =crdoba (PROVEEDORES)

2. Listar los proveedores que proveen el temi1

nom-p ( nro.-i =i1) (PROVEEDORES) (TEMS)

3. Listar los clientes que solicitan tems provistos por p1

nom-c ( nro-p =p1) (CLIENTES) (PROVEEDORES)

4. Listar los clientes que solicitan algn tem provisto por proveedores con categora mayor que 4.

nom-c (CLIENTES* ( descripcin i (TEMS)* ( categora <4>

5. Listar los tems pedidos por clientes de Rosario.

nro-i (PEDIDOS)- nro-i (PEDIDOS * nom-p= Rosario (PROVEEDORES))

6. Listar los pedidos en los cuales un cliente de rosario solicita artculos

fabricados en Mendoza (ciud-i = Mendoza).

cantidad (PEDIDOS)* nom-p =Rosario (PROVEEDORES)* ciud i =Mendoza (TEMS).

7. Listar los pedidos en los que el cliente 23 solicita tems no solicitados por el cliente 30

cantidad ( nro-c =23) (PEDIDOS) cantidad ( nro-c=30) (PEDIDOS)

8. Listar las ciudades en la forma (ciu1, ciu2) tales que un proveedor en ciu1 provea tems solicitados por el cliente de ciu2.

Ciud-p=ciu1 ( ciud-c=ciu2)(PROVEEDORES)(CLIENTES)

9. Listar los nmeros de proveedores cuya categora sea mayor que la de todos los proveedores que proveen el tem cuadernos

nro-p ( categora> Todos proveedores) ( descripcin-i =cuaderno)(PROVEEDORES)( tems)

10. Listar los clientes que han pedido 2 o ms tems distintos.

nom-c ( cantidad > 2)* nro-i > 2 (PEDIDOS)

11. Listar los proveedores que proveen a todos los clientes de crdoba una cantidad mayor que el promedio de las cantidades pedidas por los clientes de Rosario.

nom-p ( ciud-p=crdoba)* cantidad> cantidades ( nom-p=

[Link] cantidad

Rosario) (PROVEEDORES, PEDIDOS)

EJERCICIO 2

Sea la siguiente Base de Datos:

VUELOS (nro-vuelo, desde, hasta)

AVIN UITILIZADO (nro-vuelo, tipo-avion, nro-avin)

INFO-PASAJEROS (nro-vuelo, dni, nombre, origen, destino).

Los vuelos no pueden tener ms de dos escalas y no hay cambio de tipo de avin para un mismo nmero de vuelo.

Realizar las siguientes consultas:

1.-Listar los nmeros de vuelos de A hasta F.

nro-vuelo ( desde=A, hasta=F) (VUELOS)

2.-Listar los tipos de avin que no son utilizados en ningn vuelo que pase por B

tipo-avin ( destino /B) (AVION-UTILIZADO)(INFO-PASAJEROS)

3.- listar los pasajeros y nmeros de vuelos para aquellos pasajeros que viajan de A a D pasando por B.

nombre, nro-vuelo ( origen=A, destino=D) (INFO-PASAJEROS)

4.- listar los tipos de avin que son utilizados en todos los vuelos que pasan por C.

tipo-avin ( destino=C)(AVION-UTILIZADO)(INFO-PASAJEROS)

EJERCICIO 3

Sea la siguiente Base de Datos:

Empleado (nro_ empleado, nombre, domicilio, localidad, antigedad)

Funcin (nro_funcion, descripcin)

Planta (nro_planta, descripcin, localidad)

Tarea (nro_ empleado, nro_funcion)

Organizacin (nro_planta, nro_funcin)

Trabaja (nro_empleado, nro_planta)

Distancia (localidad 1, localidad 2, distancia)

Describir en Algebra Relacional la siguiente consulta:

Listar los nombres de los empleados que viven ms lejos de su lugar de trabajo.

nombre ( distancia>todos) (EMPLEADO)(DISTANCIA).

EJERCICIO 4

Sea la siguiente Base de Datos:

Artculos (nro_art, descripcin, peso, precio_unit, fabricado_en)

Facturas (nro_fact, nro_cli, fecha, fecha_venc)

Detalles factura (nro_fact, nro_art,cant)

Clientes (nro_cli, nombre, domicilio, ciudad, pas, ocupacin)

Expresar la siguiente consulta en Algebra Relacional:

Listar los nombres de los clientes que hayan comprado al menos dos artculos distintos.

( nombre ( cant>2)* descripcin)(CLIENTES, DETALLE FACTURA, ARTICULOS).

También podría gustarte