Sunteți pe pagina 1din 17

INSTITUTO TECNOLGICO DE TUXTLA GUTIRREZ

EXTENSIN BOCHIL
Unidad V:Algebra relacional.
Catedrtico:
COUTIO ALFARO ALEJANDRO
Wiliam Hernndez Lpez
7 de mayo del 2015

Operaciones
fundamentales del algebra
relacional.
Las
expresiones
fundamentales
del
lgebra relacional se componen de
alguna de las siguientes:
Una relacin de la base de datos
Una relacin constante

Operadores monarios: seleccin y proyeccin


Operadores binarios: Unin, interseccin, diferencia, producto
cartesiano, p-reunin y divisin
Otra clasificacin:
Operadores conjuntistas: Unin, diferencia, interseccin y
producto cartesiano
Operadores relacionales: seleccin, proyeccin, p-reunin y
divisin
Notacin a seguir
Dada R[A1..An], Ai,Aj{A1...An} llamaremos propiedad atmica
P(Ai,Aj) a toda expresin de la forma Ai,Aj con igual a =, ,,...
(obviamente Ai o Aj pueden sustituirse por una constante).
Notaremos por P(A1..An) a toda propiedad lgica asociada al
conjunto de atributos {A1..An }, que sea combinacin mediante
,, de propiedades atmicas incluyendo constantes y nombres
de atributos pertenencientes a {A1..An }

Definicin:
Sea R[A1..An], y P una propiedad asociada a {A1...An} y r
una instancia de R, el operador p-seleccin aplicado a r
y que notaremos por P (r) obtiene aquellas tuplas de r
para las que p es cierta:

Ejemplo: si P= status>=25 tenemos

r=

Codigo
S1
S2
S3
S4
S6
S7
S8
S9
S10

Nombre
Juan Lopez
Jose Sanchez
Antonio Perez
Jose Lopez
Carmen Lopez
Julia Sanchez
Juana Perez
Luis Gomez
Maria Galvez

Ciudad
Granada
Jaen
Cadiz
Sevilla
Cordoba
Granada
Jaen
Almeria
Sevilla

Status
20
15
20
25
30
25
10
35
30

Codigo
S4
P (r)= S6
S7
S9
S10

Nombre
Jose Lopez
Carmen Lopez
Julia Sanchez
Luis Gomez
Maria Galvez

Ciudad
Sevilla
Cordoba
Granada
Almeria
Sevilla

Status
25
30
25
35
30

Otras operaciones del


algebra relacional.
Las operaciones fundamentales del lgebra
relacional son suficientes para expresar cualquier
consulta del lgebra relacional. Sin embargo, si
uno se limita nicamente a las operaciones
fundamentales, algunas consultas habituales
resultan de expresin intrincada. Por tanto, se
definen otras operaciones que no aaden potencia
al lgebra, pero que simplifican las consultas
habituales. Para cada operacin nueva se facilita

Definicin:
Sean R[A1..An], y S[B1..Bm], dos relaciones cualesquiera y dos
instancias r y s de las
misma, el producto cartesiano de ambas instancias es el
conjunto de tuplas
resultante de hacer el producto cartesiano considerando
ambas instancias como
A B D
a1 b1 d1
conjuntos de tuplas.
a1 b1 d2
D
a1 b1 d3
Ej. supongamos R[A,B] y S[D],d1y sean r y s dos instancias:
a2 b2 d1

d2
d3

a2
a2
a3
a3
a3
a4
a4
a4

b2
b2
b3
b3
b3
b4
b4
b4

d2
d3
d1
d2
d3
d1
d2
d3

Definicin:
Sean R[A1..An], y S[B1..Bm], dos relaciones cualesquiera, P una
propiedad
Definicin:que implica a atributos de ambas relaciones y dos
Sean rR[A
y S[B
relaciones cualesquiera, P
instancias
y s1..A
den],las
misma,
definimos:
1..Bm], dos
una propiedad que implica a atributos de ambas relaciones y
dos instancias r y s de las misma, definimos:

r P- s = P(rs)

r P- s = P(rs)

La =-reunin permite pegar dos tablas y restaurar todas las


=-reunin
permite
pegar dos tablas y restaurar todas
conexiones
semanticas:

La
conexiones
semanticas:
Ejemplos
Ejemplos

Titul
o

ISB
N

Fech
a

editoria
l

ISBN

liro.isbn=escribe.isbn(libroescribe)
codig ISBN liro.isbn=trata.isbn(librotrata)
o

Nombr
e

las

Algebra relacional extendida.


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

Las
operaciones
bsicas
del
lgebra
relacional se han ampliado de varias
maneras.
Una
ampliacin
sencilla
es
permitir operaciones aritmticas como parte
de la proyeccin.
Una ampliacin importante es permitir
operaciones de agregacin, como el clculo
de la suma de los elementos de un conjunto,
o su media. Otra ampliacin importante es
la operacin reunin externa, que permite a
las expresiones del lgebra relacional
trabajar con los valores nulos que modelan

la operacin proyeccin generalizada ampla la


operacin proyeccin permitiendo que se utilicen
funciones aritmticas en la lista de proyeccin.
La operacin proyeccin generalizada tiene la
forma F1, F2, , Fn (E) donde E es cualquier
expresin del lgebra relacional y F1, F2, , Fn son
expresiones aritmticas que incluyen constantes y
atributos en el esquema de E.
Como caso especial la expresin aritmtica puede
ser simplemente un atributo o una constante.

Valores nulos.
Es necesario analizar la forma en la que las
operaciones del lgebra relacional manejan
los valores nulos (y las complicaciones que
surgen).
Las operaciones y comparaciones con valores
nulos se deberan evitar siempre que sea
posible.
Valor nulo: Valor desconocido o no existente.

Operaciones Aritmticas
Dado que el valor especial nulo indica valor
desconocido o no existente, cualquier
operacin aritmtica (como +, -, * y /) que
incluya valores nulos debe devolver un valor
nulo.
Comparaciones
Cualquier comparacin (como <, <=, >, >=,
= y ) que incluya un valor nulo se evala al
valor especial desconocido Como no se
puede
decir
si
el
resultado
de
la
comparacin es cierto o falso, se dice que el
resultado
es
un
nuevo
valor
lgico
denominado desconocido.

Seleccin
La operacin seleccin evala el predicado P en
P(E) sobre cada tupla de E
Si el predicado devuelve el valor cierto, se aade
la tupla al resultado
Si el predicado devuelve desconocido o falso, la
tupla no se aade al resultado
Proyeccin
La operacin proyeccin trata los nulos como
cualquier otro valor al eliminar duplicados.
La decisin es un tanto arbitraria porque sin
saber cul es el valor real no se sabe si los dos
valores nulos son duplicados o no.

Operaciones de modificaciones
a la Base de Datos
Para insertar datos en una relacin, se
especifca la tupla que se desea insertar o bien
se formula una consulta cuyo resultado sea el
conjunto de tuplas que se desea insertar.
La instruccin para hacer una insercin tiene
la siguiente sintaxis:
INSERT INTO R(a1; :::; an) VALUES (v1; :::vn);

Ejemplo:
INSERT INTO cuenta
VALUES (null, 'C-401', 24000);
SELECT num_cuenta
FROM cuenta
WHERE nombreSucursal = 'San Angel';

Supresin
Si se desea eliminar una tupla de una relacin debe
usarse la instruccin:
DELETE FROM R WHERE condicion;

Ejemplo
DELETE FROM cuenta
WHERE nombre Sucursal IN (SELECT nombre
Sucursal
FROM sucursal
WHERE ciudad = 'Cuernavaca');

Actualizacin
Si solo se desea modificar el valor de ciertos
campos, se puede
utilizar la instruccin de actualizacin cuya
sintaxis es:
UPDATE R SET valores WHERE condicin;

FIN

S-ar putea să vă placă și