Sei sulla pagina 1di 42

Lenguajes de Consulta

Unlenguajedeconsultaesunlenguajeconel
queelusuariosolicitainformacindelabasede
datos:seconstruyeunaexpresinquecontesta
interrogantessobrelainstanciaactualdelaba
se de datos.

lgebra Relacional

Es un lenguaje de consulta que


ilustra las tcnicas fundamentales
para
la
manipulacin
de
lainformacin.

CONCEPTOS BSICOS:
Sean V
1

D1 ,
V2

D2,
, Vn

Dn ,

los valores Vi , y sean Di los dominios


de cada Vi.
Entonces una
tupla (V1, V2, , Vn) es
un elemento del producto cartesiano de

Relacin := es un subconjunto del


producto cartesiano de una lista de
dominios.
En el lgebra relacional, a las tablas se
les llama relaciones y a las filas se
les llama tuplas.

Propiedad de Cerradura

Consiste en el hecho de que aplicar


cualquier
operador
de
lgebra
relacional sobre una relacin resulta
en una relacin.

Operaciones
Ellgebrarelacionalconstadenueve
operaciones:
Unin
Proyeccin
Interseccin Reunin
Diferencia Divisin
Producto
Renombrar
Seleccin

Unin

Laoperacindeuninpermitecombinardatosde varias
relaciones.
Supongamosqueunadeterminadaempresa internacional
poseeunatabladeempleadosparacadaunodelospases
en losqueopera.
Paraconseguirunlistadocompletodetodoslosempleados
delaempresatenemosquerealizarunaunindetodaslas
tablasdeempleadosdetodoslospases.

Nota:
Nosiempreesposiblerealizarconsultasdeunin
entrevariastablas.
Parapoderrealizarestaoperacinesnecesarioe
imprescindiblequelastablasaunirtengan
lasmismasestructuras,quesuscampossean
iguales.

Ejemplo: Teniendo las dos relaciones R


S
y S, sit
la R
tupla
entoncesR S

: t t R,t S

o bien, t pertenece tanto a R como a S.


R y S deben tener esquemas con
conjuntos idnticos de atributos.

Nombre

DireccinFecha

Nombre

DireccinFecha

JuanDaz
AnaGmez

C/Pez,109962
C/Luna,38358

JuanDaz
LuisDaz

C/Pez,109962
C/Sol,58567

RS

Nombre

Direccin

Fecha

JuanDaz
AnaGmez
LuisDaz

C/Pez,10
C/Luna,3
C/Sol,5

9962
8358
8567

Diferencia Laoperacindiferenciapermiteidentificart
uplasqueestnenunarelacinynoenotra.
Dadas las dos relaciones R y S, si la tupla
tRS
entonces

R S : t t R, t S

R y S deben tener esquemas con conjuntos


idnticos de atributos.

Nombre

DireccinFecha

Nombre

DireccinFecha

JuanDaz
AnaGmez

C/Pez,109962
C/Luna,38358

JuanDaz
LuisDaz

C/Pez,109962
C/Sol,58567

RS

Nombre

Direccin

Fecha

AnaGmez

C/Luna,3

8358

Interseccin

Permite identificar tuplas comunes a


dos relaciones, es decir:

R S R R S
De manera anloga a la unin, es
requerido que los esquemas de
ambas relaciones sean idnticos.

Nombre

DireccinFecha

Nombre

DireccinFecha

JuanDaz
AnaGmez

C/Pez,109962
C/Luna,38358

JuanDaz
LuisDaz

C/Pez,109962
C/Sol,58567

RS

Nombre

Direccin

Fecha

JuanDaz

C/Pez,10

9962

Producto Cartesiano X
Consiste en una reunir en una sola
relacin todas las posibles combinaciones
ordenadas de todas las tuplas de la
primera relacin con todas las de la
segunda.
Sean R y S dos relaciones de grado
RS
respectivamente. La relacin
t RS
grado m+n, cada tupla
formada por m primeros elementos
n ltimos de la relacin S.

m y n,
posee
, est
de R y

Seleccin

Elige las tuplas que satisfacen una


condicin dada.
Notacin: Se utiliza la letra (sigma
minscula) para denotar la seleccin. La
condicin se escribe como subndice de
.
El grado de la relacin se conserva.

Consideremos la relacin prstamo:


Prsta
mo

para seleccionar aquellas tuplas de la


relacin en las que el nombre-sucursal es
Navacerrada, escribimos:

nombre-sucursal = Navacerrada
(prstamo)

Se emplean los smbolos


, , , , ,
para elaborar la condicin de
seleccin, adems de

los conectores
lgicos y ( ) y o ( ).
Entonces la consulta

nombre-sucursal = Navacerrada
(prstamo)
arroja la tupla

importe > 1400

Proyeccin

Esta operacin corresponde a una


seleccin en la que se indican los
campos que se desean recuperar.
Si se desea, por ejemplo, realizar un
listado de todos los nmeros de
prstamo y el importe de los mismos
pero sin que aparezcan los nombres
de las sucursales, la operacin
proyeccin es la que permite
generar dicha relacin.

Notacin: Se utiliza la letra (pi


mayscula)
para
denotar
la
proyeccin. El listado de atributos se
escribe como subndice de .
nmero-prstamo, importe (prstamo)
devuelve la relacin siguiente:

Como el resultado de una operacin


relacional es una relacin, es posible
realizar
una
composicin
de
operaciones relacionales.
Considrese la relacin cliente:

Para encontrar a los clientes que viven


en Peguerinos, escribimos:

Expresin que se
evala como
relacin

Consideremos la siguiente relacin

Reunin (Join) reunin

zetaSe emplea para recuperar datos de


relaciones enlazadas por medio de la
clusula JOIN.
La operacin reunin se puede
combinar con las operaciones de
seleccin y proyeccin.
RS

La definicin es la siguiente: R
= (
)

Si se refiere a una condicin


arbitraria sobre los atributos C de las
relaciones R y S, representado por R
S, se construye:
1. Formando el producto
t cartesiano
RS
entre R y S.
2. Se seleccionan las tuplas
que satisfacen C.

Reunin natural (Natural


Join)
Si R y S son dos relaciones con uno o
ms atributos en comn, la reunin
natural se determina del siguiente
modo:
1.

RS

Del producto cartesiano

para cada atributo Ai comn, se


seleccionan
las
filas
en
que
coinciden R.Ai con S.Ai.

Divisin
Devuelve una nueva relacin
seleccionando un subconjunto de las
tuplas de una relacin que se
corresponden con todas las tuplas en
otra relacin.
Sean R y S relaciones congrados r y
s, respectivamente, donde r > s y S
.u S , t
(t , u ) R
Entonces R
S es la relacin de
grado (r-s) tal que
R

Se desean hallar a todos los clientes que tengan abierta una


cuenta en todas las sucursales de la cuidad Arganzuela.

Recuperamos todas las sucursales de


Arganzuela

Recuperamos todas las parejas


nombre-cliente
nmero-cuenta
nombre-cliente,
nombre-sucursal
Gonzlez

C-101

Lpez

C-102

Gonzlez

C-201

Gmez

C-215

Santos

C-217

Ruprez

C-222

Abril

C-305

La relacin impositor

Ahora hay que hallar los clientes que


aparecen en r2 con los nombres de
todas las sucursales de r1.

r2

r1 =

Renombrar

Dada la relacin R, el renombrado de


R a S,
S(R), corresponde a una relacin
con exactamente las mismas tuplas y
los mismos atributos que R, slo que
el nombre de la relacin es S.

Ejercicios:
En base al siguiente esquema:

Estados (id_estado, nombre_estado)


Poblaciones (id_estado, id_poblacion, descripcion_poblacion)
Personas (id_poblacion, rfc_persona, nombre_persona, sex_persona,
direccion_persona)

Recupere, empleando lgebra relacional.

a) las poblaciones que se encuentran en cada Estado.


b) las poblaciones que se encuentran en el Estado de Mxico.
c) la poblacin y el estado en el que radican las personas.
d) las poblaciones en donde no se encuentre la direccin de
Zacatecas.

En base al siguiente esquema:


Editoriales (numero_editorial, nombre_editorial, ciudad)
Libros (numero_libro, titulo, autor, anio)
Librerias(numero_libreria, nombre_libreria_ciudad)
ELL (numero_editorial, numero_libro, numero_libreria, cantidad)
Empleando lgebra relacional;
a) Recupere los nombres de las libreras surtidas por alguna
editorial de Monterrey
b) Recupere los nmeros de editorial que surten a las libreras
L1 y L3, libros con ao de publicacin 1994.

En base al siguiente esquema:


Proyecciones (numero_sala, numero_pelicula, fecha_inicial,
fecha_final)
Pelculas (numero_pelicula, titulo, genero)
Salas (numero_sala)
Recupere , empleando lgebra relacional :
a) Para marzo del ao 2000, los nombres de las pelculas
emitidas
b) Los nmeros de sala en que se proyectaron tales pelculas
c) Los nmeros de sala en que se emite slo el gnero Accin

En base al siguiente esquema:


Persona (id_persona, nombre)
Empleados (id_persona, calle, ciudad)
Trabaja (id_persona, nombre_empresa, sueldo)
Empresas (nombre_empresa, ciudad)
Dirige (id_persona, nombre_director)
Recupere, empleando lgebra relacional:
a) Los nombres de todos los empleados de Empresa1
b) Los nombres y ciudad de todos los empleados en
Empresa1
c) Nombres, calle y ciudad, de todos los empleados de
Empresa1 con un sueldo mayor de 15,000 pesos.
d) Los nombres de todos los empleados que viven en la
misma ciudad que su director

Potrebbero piacerti anche