You are on page 1of 8

Universidad Cesar Vallejo

Programa de Expertos en Computacin y


Sistemas (PECS)

Modelo Relacional

Modelamiento de Datos y Diseo de BD

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 relacin resultado, sin que cambien las relaciones
originales. Tanto los operandos como los resultados son relaciones, por lo que la salida de
una operacin puede ser la entrada de otra operacin. Esto permite anidar expresiones del
lgebra, del mismo modo que se pueden anidar las expresiones aritmticas. A esta
propiedad se le denomina clausura: las relaciones son cerradas bajo el lgebra, del mismo
modo que los nmeros son cerrados bajo las operaciones aritmticas.
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 relacin, por lo tanto, es posible anidar y combinar operadores. Hay
ocho operadores en el lgebra relacional que construyen relaciones y manipulan datos,
estos son:
Unin
Interseccin
Diferencia
PRIMITIVAS
Producto
ESPECIALES Seleccin
Proyeccin
Divisin
UNION
En lgebra relacional la unin de dos relaciones compatibles A y B
Relaciones Compatibles: En el lgebra relacional la compatibilidad se aplica a las
operaciones de Unin, Interseccin y Diferencia. Cada operacin 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 teora de conjuntos el smbolo representa aqu la unin de dos relaciones.
Sintaxis

(condicin1,condicin2) (RELACION1) U (condicin1,condicon2)

Ejemplo:
Veamos el siguiente modelo de la base de datos, esta es una base de datos de ejemplo,
puesto que podramos utilizar una sola relacin persona

Modelamiento de Datos y Diseo de BD

Universidad Cesar Vallejo

Los Esquemas de relaciones que se pueden construir a partir de este modelo son los
siguientes:
Dueo = {rut, nombre, telfono, direccin, vigencia}
Chofer = {rut, nombre, telfono, direccin, fecha_licencia_desde, fecha_licencia_hasta,
vigencia}
Vale = {correlativo, hora_desde, hora_hasta, metraje_total, tarifa_total}
Mvil = {patente, rut_dueo, rut_chofer, marca, modelo, ao}
Viaje = {correlativo_vale, patente_movil, Hora_Desde, hora_hasta, origen, destino, tarifa,
metraje}
Ejemplo1: Mostrar rut y vigencia de los Dueos y choferes
rut,vigencia(DUEO) U rut,vigencia(CHOFER)
INTERSECCIN
En lgebra relacional la interseccin de dos relaciones compatibles A y B
A INTERSECCION B o A B
La interseccin obtiene como resultado una relacin que contiene las tuplas de R que
tambin se encuentran en S. Para realizar esta operacin, R y S deben ser compatibles para
la unin.
Ejemplo2: Devuelve todos los dueos que tambin son choferes
rut,vigencia(DUEO) rut,vigencia(CHOFER)
DIFERENCIA
En lgebra relacional la diferencia entre dos relaciones compatibles A y B
A MENOS B o A B

Modelamiento de Datos y Diseo de BD

Universidad Cesar Vallejo

Produce el conjunto de todas las tuplas t que pertenecen a A y no pertenecen a B.


Ejemplo3: Devuelve todos los dueos que NO son choferes
rut,vigencia(DUEO) - rut,vigencia(CHOFER)
PRODUCTO
En lgebra relacional el producto de dos relaciones A y B es:
A Veces B o A X B
El producto cartesiano obtiene una relacin cuyas tuplas estn formadas por la
concatenacin de todas las tuplas de A con todas las tuplas de B.
Habr casos en que sea necesario combinar la informacin de varias relaciones. El producto
cartesiano ``multiplica" dos relaciones, definiendo una nueva relacin que tiene todos los
pares posibles de tuplas de las dos relaciones. Si la relacin A tiene tuplas y
atributos
y la relacin B tiene

tuplas y

atributos, la relacin resultado tendr

tuplas y

atributos. Ya que es posible que haya atributos con el mismo nombre en las dos
relaciones, el nombre de la relacin se antepondr al del atributo en este caso para que los
nombres de los atributos sigan siendo nicos en la relacin resultado.
Ejemplos:
DUEO x MOVIL

OPERACIONES ESPECIALES:

Seleccionar ():
Por medio de esta operacin se posibilita la seleccin de un subconjunto de tuplas de una
relacin que corresponden a una condicin (columna OPERADOR valor) determinada. El
grado (total de columnas de la Relacin), se conserva.
Sintaxis:
La seleccin, permite extraer
todas las filas
(tuplas) que cumple una condicin determinada.
(condicin)
(RELACION)
Esta condicin permite la utilizacin de los operadores de comparacin: =,>,<,>=,, adems
de los conectores lgicos "y" - "o":

Ejemplo:
DNI
7113453
4
2342344

Nombr
e
Juan

P_Apellid
o
Mesa

S_Apellid
o
Uribe

Sex
o
M

Ana

Betancur

Bermudez

Direcci
n
Cra 25
22-1
Cra 45

Telefon
o
256753
2
343344

Salario
1,600,00
0
1,300,00

Modelamiento de Datos y Diseo de BD

Universidad Cesar Vallejo

5
1245353
5
7555674
3
4353332
2
7890045
6

Mara
Gloria

Betancur

Garces

Pedro

Ochoa

Pelaez

Patricia

Angel

Guzmn

Carlos

Betancur

Agudelo

a. cedula = 71134534 (PERSONA)

11-13
Tr. 12
43-5
Cll.6ta
14-45
Cll. 45
23-1
Cir. 5
12-5

4
275653
3
268688
5
267456
3
444577
5

0
1,700,00
0
1,200,00
0
1,350,00
0
1,500,00
0

Direcci
n
Cra 25
22-1

Telefon
o
256753
2

Salario

Resultado:
DNI
7113453
4

Nombr
e
Juan

P_Apellid
o
Mesa

S_Apellid
o
Uribe

Sex
o
M

1,600,00
0

b. sexo ='F' (PERSONA)


c. (primer_apellido ='Betancur') y (sexo='F') (PERSONA)
d. (sexo = 'M'') o (Salario >=1,350,000) (PERSONA)

Proyectar ()
Esta operacin permite seleccionar algunas columnas de una relacin.
Sintaxis:
<lista de Atributos> (RELACION)

Ejemplos:
Se construyen con base en la Relacin anterior: PERSONA.
a.

b.

DNI, nombre, primer_apellido, segundo_apellido

cedula, salario

(PERSONA)

(PERSONA)

c. La operacin SELECCIN combinada con la operacin PROYECCIN, 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) )

Modelamiento de Datos y Diseo de BD

Universidad Cesar Vallejo

En lgebra relacional el operador de divisin divide la relacin A con grado m + n por la


relacin B entregando como resultado una relacin 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
DIVISIN
A DIVIDIDO POR B o A / B
produce la relacin C con un slo 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

EJERCICIOS DE ALGEBRA RELACIONAL


U : Unin
|X| : Junta
: Proyeccin
: Seleccin
X : Producto Cartesiano
doc 4 : Renombre del campo de posicin 4 por doc
Ejercicio Resueltos: Se tiene las siguientes relaciones:
CLIENTES (N Cliente, Nombre, Direccin, Telfono, Ciudad)
PRODUCTO (Cod Producto, Descripcin, Precio)
VENTA (Cod Producto, N Cliente, Cantidad, IdVenta)
Lo primero es renombrar las tablas para facilitar su manejo en las consultas:
CLIENTES C
PRODUCTO P
VENTA V
a. Realizar una consulta que muestre el nombre de los clientes de Lima
Solucin

Modelamiento de Datos y Diseo de BD

Universidad Cesar Vallejo

b.

Indicar el cdigo y descripcin de los productos cuyo cdigo coincida con su descripcin
Solucin

c.

Codigo, descripcin

( (Codigo=descripcin) P)

Obtener el nombre de los clientes junto con el identificador de venta y la cantidad


vendida, de aquellos productos de los que se vendieron ms de 500 unidades
Solucin

d.

( (Ciudad = 'Lima'') C)

nombre

nombre, inventa,Cantidad

( (Cantidad>50) PxC)

Nombre de los clientes de la tabla Clientes que no aparecen en la tabla de ventas (Clientes
que no han comprado nada)
Solucin

C- nombre(CxV)

nombre

EJERCICIO Propuestos:
Sea la siguiente BD:
PROVEEDORES( nro-p,nom-p,categora,ciud-p)
ITEMS(nro-i,descripcin-i,ciud-i)
PEDIDOS(nro-p,nro-c,nro-i,cantidad,precio)
CLIENTES(nro-c,nom-c,ciud-c)

PROVEEDORES P
ITEMS I
PEDIDOS D
CLIENTESC
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 algn 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 artculos fabricados en
Mendoza (ciud-i = "Mendoza").

7.

Listar los pedidos en los que el cliente "23" solicita items no solicitados por el cliente
"30".

Modelamiento de Datos y Diseo de BD

Universidad Cesar Vallejo


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 nmeros de proveedores cuya categora sea mayor que la de todos los
proveedores que proveen el item "cuaderno".

10. Listar los clientes que han pedido 2 o ms 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 Diseo de BD

You might also like