algebra relacional2
DESCRIPTION
Permite realizar operacionesTRANSCRIPT
![Page 1: Algebra Relacional2](https://reader036.vdocuments.co/reader036/viewer/2022083010/563db943550346aa9a9b9c91/html5/thumbnails/1.jpg)
Universidad Cesar Vallejo
Programa de Expertos en Computación y Sistemas (PECS)
Modelo Relacional
Modelamiento de Datos y Diseño de BD
![Page 2: Algebra Relacional2](https://reader036.vdocuments.co/reader036/viewer/2022083010/563db943550346aa9a9b9c91/html5/thumbnails/2.jpg)
Universidad Cesar Vallejo
Modelo Relacional
I. CONCEPTO DE ALGEBRA RELACIONAL:
El álgebra relacional es un lenguaje formal con una serie de operadores que trabajan sobre una o varias relaciones para obtener otra relación resultado, sin que cambien las relaciones originales. Tanto los operandos como los resultados son relaciones, por lo que la salida de una operación puede ser la entrada de otra operación. Esto permite anidar expresiones del álgebra, del mismo modo que se pueden anidar las expresiones aritméticas. A esta propiedad se le denomina clausura: las relaciones son cerradas bajo el álgebra, del mismo modo que los números son cerrados bajo las operaciones aritméticas.
II. OPERADORES TRADICIONALES
Como vimos el Algebra relacional es un lenguaje de consulta procedural que consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación, por lo tanto, es posible anidar y combinar operadores. Hay ocho operadores en el álgebra relacional que construyen relaciones y manipulan datos, estos son:
PRIMITIVASUnión Intersección Diferencia Producto
ESPECIALES Selección Proyección División
UNIONEn álgebra relacional la unión de dos relaciones compatibles A y B
Relaciones Compatibles: En el álgebra relacional la compatibilidad se aplica a las operaciones de Unión, Intersección y Diferencia. Cada operación requiere dos relaciones que deben ser compatibles, esto significa que deben ser del mismo grado, n, y el i-ésimo atributo de cada una (i= 1, 2...n) se debe basar en el mismo dominio.
A UNION B o A U B
Produce el conjunto de todas las tuplas que pertenecen ya sea a A o a B o a Ambas. Al igual que en teoría de conjuntos el símbolo representa aquí la unión de dos relaciones.∪Sintaxis
Modelamiento de Datos y Diseño de BD
(condición1,condición2) (RELACION1) U (condición1,condicon2) (RELACION2)
![Page 3: Algebra Relacional2](https://reader036.vdocuments.co/reader036/viewer/2022083010/563db943550346aa9a9b9c91/html5/thumbnails/3.jpg)
Universidad Cesar Vallejo
Ejemplo:Veamos el siguiente modelo de la base de datos, esta es una base de datos de ejemplo, puesto que podríamos utilizar una sola relación persona
Los Esquemas de relaciones que se pueden construir a partir de este modelo son los siguientes:
Dueño = {rut, nombre, teléfono, dirección, vigencia}Chofer = {rut, nombre, teléfono, dirección, fecha_licencia_desde, fecha_licencia_hasta, vigencia}Vale = {correlativo, hora_desde, hora_hasta, metraje_total, tarifa_total}Móvil = {patente, rut_dueño, rut_chofer, marca, modelo, año}Viaje = {correlativo_vale, patente_movil, Hora_Desde, hora_hasta, origen, destino, tarifa, metraje}
Ejemplo1: Mostrar rut y vigencia de los Dueños y choferes
rut,vigencia(DUEÑO) U rut,vigencia(CHOFER)
INTERSECCIÓN
En álgebra relacional la intersección de dos relaciones compatibles A y B
A INTERSECCION B o A ∩ B
Modelamiento de Datos y Diseño de BD
![Page 4: Algebra Relacional2](https://reader036.vdocuments.co/reader036/viewer/2022083010/563db943550346aa9a9b9c91/html5/thumbnails/4.jpg)
Universidad Cesar Vallejo
La intersección obtiene como resultado una relación que contiene las tuplas de R que
también se encuentran en S. Para realizar esta operación, R y S deben ser compatibles para
la unión.
Ejemplo2: Devuelve todos los dueños que también son choferes
rut,vigencia(DUEÑO) ∩ rut,vigencia(CHOFER)
DIFERENCIAEn álgebra relacional la diferencia entre dos relaciones compatibles A y B
A MENOS B o A – B
Produce el conjunto de todas las tuplas t que pertenecen a A y no pertenecen a B.
Ejemplo3: Devuelve todos los dueños que NO son choferes
rut,vigencia(DUEÑO) - rut,vigencia(CHOFER)
PRODUCTOEn álgebra relacional el producto de dos relaciones A y B es:
A Veces B o A X B
El producto cartesiano obtiene una relación cuyas tuplas están formadas por la concatenación de todas las tuplas de A con todas las tuplas de B.
Habrá casos en que sea necesario combinar la información de varias relaciones. El producto cartesiano ``multiplica" dos relaciones, definiendo una nueva relación que tiene todos los pares posibles de tuplas de las dos relaciones. Si la relación A tiene tuplas y atributos
y la relación B tiene tuplas y atributos, la relación resultado tendrá tuplas y
atributos. Ya que es posible que haya atributos con el mismo nombre en las dos relaciones, el nombre de la relación se antepondrá al del atributo en este caso para que los nombres de los atributos sigan siendo únicos en la relación resultado.
Ejemplos:
DUEÑO x MOVIL
Modelamiento de Datos y Diseño de BD
![Page 5: Algebra Relacional2](https://reader036.vdocuments.co/reader036/viewer/2022083010/563db943550346aa9a9b9c91/html5/thumbnails/5.jpg)
Universidad Cesar Vallejo
OPERACIONES ESPECIALES:
Seleccionar ():
Por medio de esta operación se posibilita la selección de un subconjunto de tuplas de una relación que corresponden a una condición (columna OPERADOR valor) determinada. El grado (total de columnas de la Relación), se conserva.
Sintaxis:
La selección, permite extraer todas las filas (tuplas) que cumple una condición determinada. Esta condición permite la utilización de los operadores de comparación: =,>,<,>=,¹, además de los conectores lógicos "y" - "o":
Ejemplo:
DNI Nombre
P_Apellido
S_Apellido
Sexo
Dirección
Telefono
Salario
71134534
Juan Mesa Uribe M Cra 25 22-1
2567532
1,600,000
23423445
Ana María
Betancur Bermudez F Cra 45 11-13
3433444
1,300,000
12453535
Gloria Betancur Garces F Tr. 12 43-5
2756533
1,700,000
75556743
Pedro Ochoa Pelaez M Cll.6ta 14-45
2686885
1,200,000
43533322
Patricia Angel Guzmán F Cll. 45 23-1
2674563
1,350,000
78900456
Carlos Betancur Agudelo M Cir. 5 12-5
4445775
1,500,000
a. cedula = 71134534 (PERSONA)Resultado: DNI Nombr
eP_Apellido
S_Apellido
Sexo
Dirección
Telefono
Salario
71134534
Juan Mesa Uribe M Cra 25 22-1
2567532
1,600,000
b. sexo ='F' (PERSONA)
c. (primer_apellido ='Betancur') y (sexo='F') (PERSONA)
d. (sexo = 'M'') o (Salario >=1,350,000) (PERSONA)
Proyectar ()Esta operación permite seleccionar algunas columnas de una relación.
Modelamiento de Datos y Diseño de BD
(condición) (RELACION)
![Page 6: Algebra Relacional2](https://reader036.vdocuments.co/reader036/viewer/2022083010/563db943550346aa9a9b9c91/html5/thumbnails/6.jpg)
Universidad Cesar Vallejo
Sintaxis:
Ejemplos: Se construyen con base en la Relación anterior: PERSONA.
a. DNI, nombre, primer_apellido, segundo_apellido (PERSONA)
b. cedula, salario (PERSONA)c. La operación SELECCIÓN combinada con la operación PROYECCIÓN, podemos
tener: cedula, nombre, salario ( (sexo = 'M'') o (Salario >=1,350,000) (PERSONA) )
d. EL RESULTADO DE LAS OPERACIONES PUEDEN SER LLEVADOS A RELACIONES TEMPORALES DE LA SIGUIENTE FORMA:
REL_TEMP cedula, nombre, salario ( (sexo = 'M'') o (Salario >=1,350,000) (PERSONA) )
En álgebra relacional el operador de división divide la relación A con grado m + n por la relación B entregando como resultado una relación con grado m. El atributo m + i de A y el atributo i de B deben estar definidos dentro del mismo dominio. Así el resultado de DIVISIÓNA DIVIDIDO POR B o A / B
produce la relación C con un sólo atributo X, tal que cada valor de x de C.X aparece como un valor de A.X, y el par de valores (x, y) aparece en A para todos los valores y que aparecen en B.
Ejemplo:
Selecciona todos los autos a cuyos choferes les caduca la licencia el 01/01/1999
Modelamiento de Datos y Diseño de BD
<lista de Atributos> (RELACION)
![Page 7: Algebra Relacional2](https://reader036.vdocuments.co/reader036/viewer/2022083010/563db943550346aa9a9b9c91/html5/thumbnails/7.jpg)
Universidad Cesar Vallejo
EJERCICIOS DE ALGEBRA RELACIONAL
U : Unión|X| : Juntaπ : Proyecciónσ : SelecciónX : Producto Cartesianodoc¬4 : Renombre del campo de posición 4 por doc
Ejercicio Resueltos: Se tiene las siguientes relaciones:
CLIENTES (Nº Cliente, Nombre, Dirección, Teléfono, Ciudad)PRODUCTO (Cod Producto, Descripción, Precio)VENTA (Cod Producto, Nº Cliente, Cantidad, IdVenta)
Lo primero es renombrar las tablas para facilitar su manejo en las consultas:CLIENTES C
PRODUCTO PVENTA V
a. Realizar una consulta que muestre el nombre de los clientes de Lima
Solución
nombre( (Ciudad = 'Lima'') C)b. Indicar el código y descripción de los productos cuyo código coincida con su
descripciónSolución
Codigo, descripción ( (Codigo=descripción) P)c. Obtener el nombre de los clientes junto con el identificador de venta y la cantidad
vendida, de aquellos productos de los que se vendieron más de 500 unidadesSolución
nombre, inventa,Cantidad ( (Cantidad>50) PxC)
d. Nombre de los clientes de la tabla Clientes que no aparecen en la tabla de ventas (Clientes que no han comprado nada)
Solución
nombreC- nombre(CxV)
Modelamiento de Datos y Diseño de BD
![Page 8: Algebra Relacional2](https://reader036.vdocuments.co/reader036/viewer/2022083010/563db943550346aa9a9b9c91/html5/thumbnails/8.jpg)
Universidad Cesar Vallejo
EJERCICIO Propuestos:Sea la siguiente BD:PROVEEDORES( nro-p,nom-p,categoría,ciud-p)ITEMS(nro-i,descripción-i,ciud-i)PEDIDOS(nro-p,nro-c,nro-i,cantidad,precio)CLIENTES(nro-c,nom-c,ciud-c)
PROVEEDORES PITEMS I
PEDIDOS DCLIENTESC
1. Listar los proveedores de Chiclayo. 2. Listar los proveedores que proveen el item "1". 3. Listar los clientes que solicitan items provistos por "p1". 4. Listar los clientes que solicitan algún ítem provisto por proveedores con categoria mayor
que 4. 5. Listar los ítems pedidos por clientes de Rosario. 6. Listar los pedidos en los cuales un cliente de Rosario solicita artículos fabricados en
Mendoza (ciud-i = "Mendoza"). 7. Listar los pedidos en los que el cliente "23" solicita items no solicitados por el cliente
"30". 8. Listar las ciudades en la forma (ciu1,ciu2 ) tales que un proveedor en ciu1 provea items
solicitados por clientes de ciu2. 9. Listar los números de proveedores cuya categoría sea mayor que la de todos los
proveedores que proveen el item "cuaderno". 10. Listar los clientes que han pedido 2 o más ítems distintos. 11. Listar los proveedores que proveen a todos los clientes de Lima una cantidad mayor que
el promedio de las cantidades pedidas por los clientes de Rosario.
Modelamiento de Datos y Diseño de BD