Escolar Documentos
Profissional Documentos
Cultura Documentos
Le :rete"
FORTEMENTE RECOMENDVEL a leitura dos livros sugeridos !
E es!ecial"
ELMA#R$% Ra e&' NAVA()E% #*a +ant B, Sistemas de banco de dados, - ed, #.o /aulo" Addison-0esle1% 2334, #$LBER#)C)A(5% A' 6OR()% )' #7DAR#)AN% #, Sistemas de Banco de Dados, #.o /aulo " McGra8 )ill do Brasil% 2333, 9
lge:ra relacional
De;ini<.o ;or al
Uma expresso bsica na lgebra relacional consiste em pelo menos uma das seguintes:
Uma relao em um banco de dados Uma relao constante
lge:ra relacional
$inguagem procedural Seis operadores bsicos
% )enomear
*s operadores recebem duas ou mais relaes como entrada e devolvem uma
relao como
sa+da ,,,
, 5, , 4,
O!erador de sele<.o ;
)elao r
A B C 1 5 12 D 7 7 3
23 10
<%= > / 5 ?
r!
A B C 1 D 7
23 10
* resultado # de(inido como a relao de A colunas obtida por apagamento das colunas no listadas apagamento na exibio, somente! $in.as duplicadas so removidas do resultado, & Bue as relaes so con&untos
Ex6: no exibir o atributo nome da relao conta
<,' r!
C 1 1 1 2 %
/e(inido como: r s % 0t 1 t r ou t s2
A B 2 3 s
r s:
B 1 2 1 3
Con=unto di;eren<a - rs
)elaes r, s:
A B 1 2 1 r A B 2 3 s
r s:
B 1 1
r x s:
B 1 1 1 1 2 2 2 2
D 10 10 20 10 10 10 20 10
E a a b b a a b b
Co !osi<.o de o!era<@es
"odemos construir expresses Ex6: <%' r x s!
A B 1 1 1 1 2 2 2 2 B 1 2 2 C D 10 10 20 10 10 10 20 10 D E a a b b a a b b E a a b
rxs
10 20 20
AACBr x s9
"ermite-nos dar um nome e posteriormente re(erirmo-nos a um resultado de expresses de lgebra relacional "ermite-nos re(erirmo-nos a uma relao por mais de um nome
Ex6:
x E!
)etorna a expresso E sob o nome F x <1, <2, @, <n! E!
)etorna a expresso E com o nome F, e os atributos renomeados para <1, <2, @, <n!
O!era<@es adicionais
O!era<@es adicionais
<s operaes a seguir no adicionam poder para a lgebra relacional, por#m simpli(icam a execuo de algumas consultas:
'on&unto Gnterseco 9uno natural Natural join! /iviso <tribuio ou designao Assignment!
Con=unto $ntersec<.o
-otao: r s
/e(inido como: r s %0 t 1 t r e t s 2 <ssumindo Bue:
r, s possuem a mesma Buantidade de atributos os atributos de r e s so compat+veis
-ota: r s % r - r - s!
rs
<
Cun<.o BNatural-Join9
-otao: r
Se&am r e s relaes sobre os sc.emas ) e S, respectivamente6 Ento, r s # a relao sobre o esBuema ) S, obtida da seguinte (orma:
'onsidere cada par de tuplas tr de r e ts de s6 Se tr e ts tem o mesmo valor em cada um dos atributos em ) S, adicione a tupla t ao resultado, onde: t possui o mesmo valor Bue tr em r t possui o mesmo valor Bue ts em s Exemplo: ) % <, =, ', /! S % E, =, /! EsBuema resultante % <, =, ', /, E! r s ser de(inido como: r6<, r6=, r6', r6/, s6E r6= % s6= r6/ % s6/ r x s!!
O!era<.o divis.o
-otao:
rs
)elacionada aBuelas consultas Bue incluem a (rase 8(or all: Se&am r e s relaes sobre os esBuemas ) and S, respectivamente, onde:
) % <1, @, <m, =1, @, =n! S % =1, @, =n! * resultado de r s # uma relao no esBuema
) D S % <1, @, <m! r s % 0 t 1 t )-S r! u s tu r ! 2
r s:
B a a
O!era<.o Divis.o
"ropriedade
Se&a B D r s Ento B # a maior relao satis(aEendo B x s r
Exemplo: !rite r s as temp1 )-S r! temp2 )-S temp1 x s! D )-S,S r!! result % temp1 D temp2
* resultado a direita de ser atribu+do para a varivel relacional a esBuerda de < varivel poder ser utiliEada em operaes subseBIentes
/ro=e<.o generali&ada
Extende a operao de pro&eo permitindo o uso de (unes aritm#ticas na lista de pro&eo
J1, J2, @, Jn E! *nde:
E # BualBuer expresso da lgebra relacional 'ada um dos J1, J2, @, Jn # uma expresso aritm#tica envolvendo constantes e atributos no esBuema de E
Ex6:
/ada a relao in(ormaes-de-cr#dito cliente-nome, limite, cr#dito-dispon+vel!, encontrar Buanto cada pessoa pode gastar: cliente-nome, limite D cr#dito-dispon+vel in(ormaes-de-cr#dito!
Cun<.o e?terna -
Outer Join
K uma extenso da operao de &uno join! Bue evita perda de in(ormao6 'omputa a &uno e ento adiciona tuplas Bue Bue no possuem correspond7ncia de uma relaLo na outra UtiliEa valores nulos null &alues!:
8null: signi(ica Bue o valor # descon.ecido ou Bue ele no existe Modas as comparaes envolvendo nulos so (alsas, por de(inio
Outer Join
)elao toma)or
*liente 9ones Smit. NaOes N+mero,em' $-1PQ $-2HQ $-1??
Outer Join
Outer Join
O!eradores de agrega<.o
-a lgebra relacional:
U1, U2, @, Un g J1 <1!, J2 <2!,@, Jn <n! E!
E # BualBuer expresso na lgebra relacional U1, U2 @, Un compe uma lista de atributos os Buais sero agrupados 'ada Ji # uma (uno agregada 'ada <i # um nome de atributo
g sum(c)
r!
sum,C 2P
A ;un<.o g utili&a a agrega<.o sum Bso a9% a Fual !ossui co o !redicado a coluna c da rela<.o r, Co o resultado de sua e?ecu<.o% G !rodu&ida u a rela<.o Fue !ossui u valor Hnico B279 identi;icado !elo atri:uto sum-C,
.ilial
g sum"sal)o% *onta!
.ilial sal)o 1HQQ 1?QQ PQQ
Eun<@es agregadoras
* resultado da agregao no possui um nome
"odemos utiliEar a operao rename para proporcionar um nome ao resultado "ara conveni7ncia, permite-se a utiliEao da (uno de renomear como parte da operao de agregao
.ilial
"ara eliminao de duplicatas e agrupamentos o valor nulo ser tratado como BualBuer outro valor, e dois nulos sero assumidos como sendo o mesmo
<lternativa: assumir cada nulo como sendo di(erente do outro <mbas so decises arbitradas
Modi;ica<@es no Data:ase
* conteCdo do banco de dados pode ser modi(icado utiliEando-se:
/eleo % /eletion Gnsero % Gnsertion <tualiEao % Updating
<pagar todos os registros de empr#stimo com Buantias entre Q e ?Q <pagar todas as contas de clientes de -eed.am r *i)a)e 5 6Nee)7am8 "*onta .ilial%
1
r2 .ilial, *onta, sal)o r1! rH **liente, *onta r2 *onta *onta D r2 )e'9sitos )e'9sitos D rH dep3sitos!
$nser<.o
"ara inserir dados em uma relao, precisamos:
Especi(icar a tupla a ser inserida Escrever uma consulta a Bual resulte em um con&unto de tuplas a serem inseridas -a lgebra relacional: r r E
*nde r # uma relao e E # uma expresso da gebra relacional
< insero de uma simples tupla # expressa por tornar E uma relao constante contendo uma tupla
"roporcionar um cr#dito de X2QQ para os clientes da (ilial "errOridge6 * nCmero do empr#stimo servir como nCmero de conta
r1 .ilial 5 6:err;ri)ge8 "toma)or empr#stimo%% *onta *onta .ilial, *onta,200 "r1! )e'9sitos )e'9sitos *liente, N+mero,em'"r1!
Atuali&a<.o
Yecanismo para trocar um valor em uma tupla sem mudar os demais valores da tupla UtiliEa-se a pro&eo generaliEada para e(etuar esta tare(a: r J1, J2, @, JG, r!
'ada Ji :
K o i-#simo atributo de r, se o i-#simo atributo no # atualiEado, ou, Se o atributo # para ser atualiEado Ji # uma expresso, envolvendo somenteconstantes e os atributos de r, a Bual d o novo valor para o atributo
Re;erIncias
SG$=E)SN'N<M\, <] ^*)MN, N] SU/<)SN<-, S6 Sistemas de Banco de Dados6 So "aulo : Yc UraT Nill do =rasil, 2QQQ6
-otas de aulas de =ancos de /ados diversas!: "ro(6 /r6 Yarcos S(air SunO#
UJ") _ /G-J D Yestrado em Gn(ormtica