Você está na página 1de 23

BANCO DE DADOS

aula 6 lgebra relacional -


professor: Juliano Varella de Caral!o
INSTITUTO DE EXATAS E TECNOLGICAS
Curso de Ci"ncia da Co#pu$a%&o
agencia
E-''( )elena
E-''* Ana
E-''+ Jo&o
num_emprestimo nome_cliente
deedor
+('' '''( SA,--
./*' '''/ SA,--
-'' '''6 NO)-+
+*'' '''* 0OA-+
1''' '''1 0OA-+
1*'' '''. NO)-+
.''' '''- SA,-+
+-'' '''+ SA,-+
saldo numero_conta nome_agencia
conta
+-**(( S&o ,eopoldo SA,--
+-*'.62 0or$o Alegre 0OA-+
1***(' S&o ,eopoldo SA,-+
-6''*' Noo )a#burgo NO)-+
saldo cidade_agencia nome_agencia
Noo )a#burgo 3loriano 0ei4o$o Bea$ri5
0or$o alegre Assis Brasil Ana
Noo )a#burgo Jo&o 6oular$ Jos7
S&o ,eopoldo Cec8lia 9eireles 0aulo
0or$o Alegre Jo&o 0essoa 9aria
Noo )a#burgo Olao Bilac 3rancisco
S&o ,eopoldo 6e$:lio Vargas 0edro
S&o ,eopoldo 6e$:lio Vargas Jo&o
cidade rua nome
cliente
'''* Ana
'''6 Jos7
'''/ 0aulo
'''1 9aria
'''. 3rancisco
'''- 0edro
'''+ Jo&o
numero_conta nome_cliente
depositante
*1-' E-''( NO)-+
-*1'' E-''* 0OA-+
1'''' E-''+ SA,-+
total num_emprestimo nome_agencia
emprestimo
*;+; <lgebra =elacional rela%>es de e4e#plo
? Linguagens de Consulta! linguage# por #eio da @ual os usurios ob$"# infor#a%>es
do banco de dados; 0ode# ser:
- procedurais: o usurio descree u#a se@A"ncia de opera%>es para ob$er o
resul$ado deseBadoC E"! pascalD pl-s@lD $ransac$-s@lD e$c;
- n&o procedurais: o usurio descree a infor#a%&o deseBadaD se# ins$ruir co#o
es$a ser ob$ida; E"! s@lD EBE FEuerG bG e4a#pleHD e$c;
? #lge$ra %elacional! linguage# de consul$a @ue consis$e e# u# conBun$o de opera%>esD
$endo co#o en$rada u#a ou duas rela%>es e produ5indo co#o resul$ado u#a noa rela%&o;
Opera%>es #ais i#por$an$es:
- selec$C - se$ differenceC
- proBec$C - car$esian produc$C
- InionC - rena#eC
- na#elG - se$ in$ersec$ionC
- na$ural Boin - diisionC
- assign#en$C
- Opera%>es pri#rias: opera# sobre u#a :nica rela%&o: selec$D proBec$D rena#e;
- Opera%>es binrias: opera# sobre duas rela%>es: unionD se$ differenceD car$esian
produc$;
*;-; <lgebra =elacional concei$os
O resul$ado da sele%&o 7
- pode# ser usados co#para%>es do $ipo: JDDDKDDL e os conec$ios: FeH FouH
? Opera&'o (%O)ECT! deno$ada pela le$ra grega pi FHD es$a opera%&o re$orna a rela%&o co#
so#en$e os a$ribu$os selecionadosD eli#inando as lin!as e# duplicidade; Os a$ribu$os aparece#
ao lado de piD subscri$oD e a rela%&o aparece en$re par"n$eses;
.''' '''- SA,-+
+-'' '''+ SA,-+
saldo numero_conta nome_agencia
+-**(( S&o ,eopoldo SA,--
+-*'.62 0or$o Alegre 0OA-+
1***(' S&o ,eopoldo SA,-+
-6''*' Noo )a#burgo NO)-+
saldo cidade_agencia nome_agencia agencia
E"! no#eMag"nciaDsaldoFagenciaH
+-**(( SA,--
+-*'.62 0OA-+
1***(' SA,-+
-6''*' NO)-+
saldo nome_agencia
*;.; <lgebra =elacional opera%>es funda#en$ais
? Opera&'o SELECT! seleciona as $uplas @ue sa$isfa%a# u# de$er#inado predicado; A le$ra
sig#a represen$a a sele%&oD o predicado aparece subscri$o a sig#aD e a rela%&o u$ili5ada 7
colocada en$re par"n$eses;
E"! no#eMagencia J NSA,-+OFcon$aH : seleciona as $uplas da rela%&o con$a cuBa ag"ncia 7 igual
a NSA,-+O;
- Jun$ando opera%>es SE,ECP E 0=OJECP: pode-se unir opera%>es desde @ue elas $ra$e# de
rela%>es;
no#eMagenciaDsaldoFno#eMagencia J NSA,-+OFcon$aH H
.''' SA,-+
+-'' SA,-+
saldo nome_agencia
.''' '''- SA,-+
+-'' '''+ SA,-+
saldo numero_conta nome_agencia
./*' '''/ SA,--
-'' '''6 NO)-+
+*'' '''* 0OA-+
1''' '''1 0OA-+
1*'' '''. NO)-+
.''' '''- SA,-+
+-'' '''+ SA,-+
saldo numero_conta nome_agencia conta
*;.; <lgebra =elacional opera%>es funda#en$ais
? Opera&'o UNION! considere a seguin$e consul$a: selecionar $odos os no#es de clien$es
@ue $en!a# u# e#pr7s$i#oD u#a con$a ou a#bos; Dee-se u$ili5ar as rela%>es
Ndeposi$an$eO e NdeedorO;
no#eMclien$eFdeedorH no#eMclien$eFdeposi$an$eH
)elena
Ana
Jos7
0aulo
9aria
3rancisco
0edro
Jo&o
nome_cliente
Fdeposi$an$eH
FdeedorH
Fes$&o nas - rela%>esH
- I#a opera%&o INQON en$re duas rela%>es NrO e NsO sR 7 poss8el se:
i; as rela%>es NrO e NsO $"# o #es#o n:#ero de a$ribu$osC
ii; os do#8nios dos i-7si#o a$ribu$o de NrO e o i-7si#o a$ribu$o de NsO dee# ser os
#es#os para $odo NiO;
? Opera&'o Di*eren&a entre con+untos! sendo NrO e NsO duas rela%>esD Nr-sO $e# co#o
resul$ado o conBun$o de $uplas @ue es$&o na rela%&o NrOD #as n&o encon$ra#-se na rela%&o
NsO;
, E"! selecionar $odos os clien$es @ue $e# con$a #as n&o $e# e#pr7s$i#o;
no#eMclien$eFdeposi$an$eH - no#eMclien$eFdeedorH
*;.; <lgebra =elacional opera%>es funda#en$ais
Ana
Jos7
0aulo
9aria
3rancisco
0edro
Jo&o
nome_cliente
,in!as eli#inadas
Clien$es co# con$as
9as se# e#pr7s$i#os
*;1; <lgebra =elacional opera%>es adicionais
? Opera&'o de Interse&'o de con+untos! cap$ura $odas as $uplas @ue encon$ra#-se e# u#a
rela%&o NrOD e @ue $a#b7# encon$ra#-se na rela%&o NsO;
, E"! Selecionar os no#es de clien$es @ue possue# u#a con$a e u# e#pr7s$i#o;
no#eMclien$eFdeedorH no#eMclien$eFdeposi$an$eH
'''* Ana
'''6 Jos7
'''/ 0aulo
'''1 9aria
'''. 3rancisco
'''- 0edro
'''+ Jo&o
numero_conta nome_cliente
depositante
E-''( )elena
E-''* Ana
E-''+ Jo&o
num_emprestimo nome_client
e
deedor
Ana
Jo&o
nome_client
e
r s J r Fr - sH
r
s
r-s
r


F
r

-

s
H
? Opera&'o (roduto Cartesiano! per#i$e co#binar infor#a%>es de duas rela%>es @uais@uer; =epresen$ado
por Nr 4 sO;
E"! Eual o produ$o car$esiano en$re as rela%>es deedor e e#pres$i#o;
FdeedorH4Fe#pres$i#oH J Fno#eMclien$eD nu#Me#pres$i#oD no#eMagenciaD nu#Me#pres$i#oD
$o$alH
Obs: 0ara ei$ar o proble#a da duplicidade de no#es de a$ribu$os insere-se o no#e da rela%&o
an$es do a$ribu$o:
Fno#eMclien$eD deedor;nu#Me#pres$i#oD no#eMagenciaD e#pres$i#o;nu#Me#pres$i#oD
$o$alH
- Euan$as e @uais $uplas aparecer&o na rela%&o Fdeedor 4 e#pres$i#oH S
Se a rela%&o FdeedorH possui NnO $uplas e a rela%&o e#pr7s$i#o $e# N#O $uplasD en$&o o produ$o
car$esiano Fdeedor 4 e#pr7s$i#oH $e# nT# $uplas;
*;.; <lgebra =elacional opera%>es funda#en$ais
*1-' E-''( NO)-+
-*1'' E-''* 0OA-+
1'''' E-''+ SA,-+
*1-' E-''( NO)-+
-*1'' E-''* 0OA-+
1'''' E-''+ SA,-+
*1-' E-''( NO)-+
-*1'' E-''* 0OA-+
1'''' E-''+ SA,-+
total emprestimo-num_emprestimo nome_agencia
E-''+ Jo&o
E-''+ Jo&o
E-''( )elena
E-''( )elena
E-''( )elena
E-''* Ana
E-''* Ana
E-''* Ana
E-''+ Jo&o
deedor-num_emprestimo nome_cliente
deedor " emprestimo
- AgoraD dee-se encon$rar $odos os no#es de clien$es @ue $en!a# u# e#pr7s$i#o na
ag"ncia NSA,-+OD a$ra7s da opera%&o:
no#eMag"ncia J NSA,-+OFdeedor 4 e#pres$i#oH
*;.; <lgebra =elacional opera%>es funda#en$ais
1'''' E-''+ SA,-+
1'''' E-''+ SA,-+
1'''' E-''+ SA,-+
total emprestimo-n.m_emprestimo nome_agencia
E-''( )elena
E-''* Ana
E-''+ Jo&o
deedor-num_emprestimo nome_client
e
Apenas Jo&o fe5 e#pr7s$i#o e# SA,-+;
OPS !!!
Obs: Co#o a opera%&o produ$o car$esiano associa $odas as $uplas de e#pr7s$i#os a $odas as
$uplas de deedorD en$&o e4is$e# e#pr7s$i#os @ue es$&o relacionados erronea#en$e a alguns
clien$es; 0ara con$ornar es$e proble#aD dee#os e4igir @ue o a$ribu$o deedor;nu#Me#pres$i#o
seBa igual ao a$ribu$o e#pres$i#o;nu#Me#pres$i#o;
- Assi# $e#os:
deedor;nu#Me#pres$i#o J e#pres$i#o;nu#Me#pres$i#o Fno#eMag"ncia J NSA,-+O Fdeedor 4 e#pr7s$i#oHH
no#eMclien$eFdeedor;nu#Me#pres$i#o J e#pres$i#o;nu#Me#pres$i#o Fno#eMag"ncia J NSA,-+O Fdeedor 4 e#pr7s$i#oHHH
1'''' E-''+ SA,-+
total emprestimo-num_emprestimo nome_agencia
E-''+ Jo&o
deedor-num_emprestimo nome_client
e
Jo&o
nome_client
e
*;.; <lgebra =elacional opera%>es funda#en$ais
? Opera&'o %ename! represen$ado pela le$ra grega r!o FHD
per#i$e dar u# no#e a u#a de$er#inada e4press&o;
Assi#D a e4press&o e# lgebra relacional E abai4o $e# por
resul$ado u#a e4press&o sob o no#e 4;
4FEH
E"! DeseBa#os o no#e dos clien$es @ue #ora# na #es#a cidade
de 3rancisco;
0ri#eiroD 7 necessrio descobrir e# @ual cidade 3rancisco #oraD
fa5endo u#a sele%&o:
no#eMclien$e J N3ranciscoOFclien$eHD
E depois u#a proBe%&o:
cidadeMclien$eFno#eMclien$e J N3ranciscoOFclien$eHH
0ara encon$rar os ou$ros clien$esD 7 necessrio fa5er u#a
arredura na rela%&o clien$eD co#parando o a$ribu$o
cidadeMclien$e co# o a$ribu$o da rela%&o ob$ida apRs a
proBe%&o an$eriorD ficando assi#:
no#eMclien$eFclien$e;cidadeMclien$e J cidMfrancisco;cidadeMclien$e
Fclien$e 4 cidMfranciscoFcidadeMclien$eFno#eMclien$e J N3ranciscoOFclien$eHHHHH
Noo )a#burgo 3loriano 0ei4o$o Bea$ri5
0or$o alegre Assis Brasil Ana
Noo )a#burgo Jo&o 6oular$ Jos7
S&o ,eopoldo Cec8lia 9eireles 0aulo
0or$o Alegre Jo&o 0essoa 9aria
Noo )a#burgo Olao Bilac 3rancisco
S&o ,eopoldo 6e$:lio Vargas 0edro
S&o ,eopoldo 6e$:lio Vargas Jo&o
cidade_cliente rua_cliente nome_cliente
cliente
Noo )a#burgo Olao Bilac 3rancisco
cidade_cliente rua_cliente nome_cliente
Noo )a#burgo
cidade_cliente
Noo )a#burgo 3loriano 0ei4o$o Bea$ri5
0or$o alegre Assis Brasil Ana
Noo )a#burgo Jo&o 6oular$ Jos7
S&o ,eopoldo Cec8lia 9eireles 0aulo
0or$o Alegre Jo&o 0essoa 9aria
Noo )a#burgo Olao Bilac 3rancisco
S&o ,eopoldo 6e$:lio Vargas 0edro
S&o ,eopoldo 6e$:lio Vargas Jo&o
cidade_cliente rua_cliente nome_cliente
Noo )a#burgo
Noo )a#burgo
Noo )a#burgo
Noo )a#burgo
Noo )a#burgo
Noo )a#burgo
Noo )a#burgo
Noo )a#burgo
cidade_cliente
Bea$ri5
Jos7
3rancisco
nome_cliente
? Opera&'o de )un&'o Natural! a Bun%&o na$ural ou na$ural Boin 7 u#a opera%&o binria @ue per#i$e
co#binar sele%>es e u# produ$o car$esiano e# u#a sR opera%&o;
, E"! encon$rar $odos os no#es de clien$es @ue $en!a# u# e#pr7s$i#o no bancoD be# co#o o $o$al
e#pres$ado;
I$ili5ando apenas as opera%>es funda#en$aisD poderia ser resolido assi#:
no#eMclien$eD e#pres$i#o;nu#Me#pres$i#oD $o$alFdeedor;nu#Me#pres$i#o J e#pres$i#o;nu#Me#pres$i#o Fdeedor 4 e#pres$i#oHH
*;1; <lgebra =elacional opera%>es adicionais
No en$an$oD 7 poss8el si#plificar es$a opera%&o u$ili5ando o s8#bolo da Bun%&o na$ural:
A Bun%&o na$ural for#a u# produ$o car$esiano das duas rela%>esD e B e4ecu$a u#a sele%&oD fa5endo a
e@uial"ncia dos a$ribu$os @ue aparece# e# a#bos os es@ue#as da rela%&oD e por :l$i#oD re#oe os
a$ribu$os e# duplicidade;
no#eMclien$eD nu#Me#pres$i#o $o$alFdeedor e#pr7s$i#oH
*1-'
-*1''
1''''
total
E-''(
E-''*
E-''+
num_emprestimo
)elena
Ana
Jo&o
nome_client
e
*;1; <lgebra =elacional opera%>es adicionais
/ormali0ando! Sendo = e S dois es@ue#as de rela%&oD ou seBaD u#a lis$a de a$ribu$os e rF=H e sFSH duas
rela%>esD a Bun%&o na$ural de r e s Fr s H 7 u#a rela%&o for#al#en$e definida assi#:
r s J =SFr;A+Js;A+ r;A-Js;A-;;; r;AnJs;AnFr 4 sHH
E# @ue = S J UA+DA-D;;;DAnV
(ropriedades!
- a Bun%&o na$ural 7 associa$iaD por$an$o:
clien$e con$a deposi$an$e J Fclien$e con$aH deposi$an$e J clien$e Fcon$a deposi$an$eH
- se rF=H e sFSH s&o rela%>es se# a$ribu$os co#unsD en$&o r s J r 4 s
*;1; <lgebra =elacional opera%>es adicionais
? Opera&'o de Diis'o! a diis&o de duas rela%>es = SD onde os a$ribu$os de S es$&o con$idos nos
a$ribu$os de =D AF=H AFSHD resul$a na rela%&o PD onde AFPH J U AF=H AFSH VD onde para cada $upla
$ @ue aparece no resul$adoD os alores de $ dee# aparecer e# =D co#binando co# cada $upla de S;
Es$a opera%&o 7 u$ili5ada nas consul$as e# @ue se e#prega a frase Npara $odosOC
b1 a.
b1 a-
b1 a+
b. a1
b. a.
b. a-
b- a.
b- a+
b+ a1
b+
b+
b+
A1
a.
a-
a+
A2
%
a.
a-
a+
A2
S
b1
b+
A1
% S
*;1; <lgebra =elacional opera%>es adicionais
+('' '''( SA,--
./*' '''/ SA,--
-'' '''6 NO)-+
+*'' '''* 0OA-+
1''' '''1 0OA-+
1*'' '''. NO)-+
.''' '''- SA,-+
+-'' '''+ SA,-+
saldo numero_conta nome_agencia
+-**(( S&o ,eopoldo SA,--
+-*'.62 0or$o Alegre 0OA-+
1***(' S&o ,eopoldo SA,-+
-6''*' Noo )a#burgo NO)-+
saldo cidade_agencia nome_agencia
conta
agencia
'''( Jo&o
'''* Ana
'''6 Jos7
'''/ 0aulo
'''1 9aria
'''. 3rancisco
'''- 0edro
'''+ Jo&o
numero_conta nome_cliente
depositante
+-**(( S&o ,eopoldo SA,--
1***(' S&o ,eopoldo SA,-+
saldo cidade_ag3ncia nome_ag3ncia
SA,--
SA,-+
nome_ag3ncia
SA,-- Jo&o
0OA-+ Ana
NO)-+ Jos7
SA,-- 0aulo
0OA-+ 9aria
NO)-+ 3rancisco
SA,-+ 0edro
SA,-+ Jo&o
nome_agencia nome_cliente
Jo&o
nome_cliente
, E"! encon$rar $odos os clien$es @ue $en!a# con$a e# $odas as ag"ncias locali5adas e#
S&o ,eopoldo;
no#eMagenciaFcidadeMagencia J NS&o ,eopoldoOFagenciaHH
no#eMclien$eD no#eMagenciaFdeposi$an$e con$aH
no#eMagenciaFcidadeMagencia J NS&o ,eopoldoOFagenciaHH
no#eMclien$eD no#eMagenciaFdeposi$an$e con$aH
*;1; <lgebra =elacional opera%>es adicionais
? Opera&'o de Atri$ui&'o 4Assignment Operation5! $rabal!a de #aneira si#ilar W a$ribui%&o das
linguagens de progra#a%&o; =epresen$ada por
- A$ribui-se a rela%&o resul$an$e de u#a opera%&o W direi$a de D a u#a ariel $e#porriaD W
es@uerdaD a @ual poder ser u$ili5ada e# rela%>es subse@Aen$es;
- E"! opera%&o de diis&o an$erior poderia ser descri$a co#o:
$e#p+ no#eMagenciaFcidadeMagencia J NS&o ,eopoldoOFagenciaHH
$e#p- no#eMclien$eD no#eMagenciaFdeposi$an$e con$aH
resul$ado $e#p- $e#p+
*;*; <lgebra =elacional opera%>es es$endidas
? (ro+e&'o generali0ada! es$ende# as proBe%>esD per#i$indo @ue opera%>es ari$#7$icas seBa#
usadas nas proBe%>es;
3+D 3-D ;;;D 3nFEH
Onde E 7 u#a e4press&o e# lgebra relacional e cada 3i s&o e4press>es ari$#7$icas enolendo
cons$an$es e a$ribu$os no es@ue#a de E;
, E"! Dada a rela%&o cr7di$oD descobrir @uan$o cada clien$e ainda pode u$ili5ar
do seu cr7di$o pessoal;
no#eMclien$eD li#i$eMcredi$o credi$oMusadoFcredi$oH
.6'' .6'' 3lia
*''' *('' 9aria
+*'' +-'' 0edro
+'' .-'' Ana
--'' 1''' Jos7
credito_usado limite_credito nome_cliente
credito
' 3lia
('' 9aria
-.'' 0edro
.+'' Ana
+('' Jos7
limite_credito , credito_usado nome_cliente
*;*; <lgebra =elacional opera%>es es$endidas
? )un&'o e"terna 4outer +oin5! e4$ens&o da opera%&o de Boin para resoler infor#a%>es o#i$idas;
, E"! Dadas as rela%>es a seguir co# os seguin$es es@ue#as:
e#pregadoFno#eMe#pregadoD ruaD cidadeH
$rabal!adorMin$egralFno#eMe#pregadoD no#eMagenciaD salarioH
Jo&o 0essoa
6e$:lio Vargas
Assis Brasil
Jo&o 6oular$
rua
0or$o Alegre 9aria
S&o ,eopoldo 0edro
0or$o Alegre Ana
Noo )a#burgo Jos7
cidade nome_empregado
0OA-+
SA,-+
0OA-+
NO)-+
nome_agencia
6*'' 9aria
.-'' 3lia
1('' Ana
*''' Jos7
salario nome_empregado
tra$al6ador_integral empregado
Descobrir a ruaD cidadeD ag"ncia e salrio de $odos os e#pregados;
Al$erna$ia na$ural 7 fa5er u#a sele%&o co# u#a Bun%&o na$ural:
no#eMe#pregadoD ruaD cidadeD no#eMagenciaD salarioFe#pregado $rabal!adorMin$egralH
Jo&o 0essoa
Assis Brasil
Jo&o 6oular$
rua
0or$o Alegre 9aria
0or$o Alegre Ana
Noo )a#burgo Jos7
cidade nome_empregado
0OA-+
0OA-+
NO)-+
nome_agencia
6*''
1(''
*'''
salario
proble#a: os dados de rua e cidade do e#pregado 0edro fora# perdidosD be# co#o os dados de ag"ncia
e salrio fora# perdidos da e#pregada 3lia;
solu%&o: u$ili5ar as opera%>es de Bun%>es e4$ernas para ei$ar perda de infor#a%>esD @ue pode# ser:
*;*; <lgebra =elacional opera%>es es$endidas
S&o ,eopoldo 6e$:lio Vargas 0edro
Jo&o 0essoa
Assis Brasil
Jo&o 6oular$
rua
0or$o Alegre 9aria
0or$o Alegre Ana
Noo )a#burgo Jos7
cidade nome_empregado
6*'' 0OA-+
Nulo
0OA-+
NO)-+
nome_agencia
Nulo
1(''
*'''
salario
e#pregado $rabal!adorMin$egral
Nulo Nulo 3lia
Jo&o 0essoa
Assis Brasil
Jo&o 6oular$
rua
0or$o Alegre 9aria
0or$o Alegre Ana
Noo )a#burgo Jos7
cidade nome_empregado
6*'' 0OA-+
SA,-+
0OA-+
NO)-+
nome_agencia
.-''
1(''
*'''
salario
e#pregado $rabal!adorMin$egral
S&o ,eopoldo 6e$:lio Vargas 0edro
Nulo Nulo 3lia
Jo&o 0essoa
Assis Brasil
Jo&o 6oular$
rua
0or$o Alegre 9aria
0or$o Alegre Ana
Noo )a#burgo Jos7
cidade nome_empregado
Nulo Nulo
6*'' 0OA-+
SA,-+
0OA-+
NO)-+
nome_agencia
.-''
1(''
*'''
salario
e#pregado $rabal!adorMin$egral
A juno esquerda pega todas as tuplas
da relao esquerda que no encontraram
par entre as tuplas da relao direita,
preenchendo com nulo os valores no
encontrados. Estas tuplas so adicionadas
ao resultado da juno natural.
A juno direita pega todas as tuplas da
relao direita que no encontraram par
entre as tuplas da relao esquerda,
preenchendo com nulo os valores no
encontrados. Estas tuplas so adicionadas
ao resultado da juno natural.
A juno externa total a! am"as opera#es
acima.
Juno externa a esquerda
Juno externa a direita
Juno externa total
*;*; <lgebra =elacional opera%>es es$endidas
? /un&7es agregadas! s&o a@uelas @ueD @uando aplicadasD $o#a# u#a cole%&o de alores e
re$orna# u# alor si#ples co#o resul$ado;
- *un&'o sum! descobrir a so#a $o$al dos salrios de
$odos os e#pregados de $e#po in$egral;
su#
salario
F$rabal!adorMin$egralH
-*un&'o count! descobrir o n:#ero de ag"ncias e4is$en$es
na $abela de $e#po in$egral;
coun$
no#eMagencia
F$rabal!adorMin$egralH
coun$-dis$inc$
no#eMagencia
F$rabal!adorMin$egralH
, *un&'o ag! descobrir a #7dia dos salrios;
ag
salario
F$rabal!adorMin$egralH
, *un&'o min! descobrir o #enor salrio;
#in
salario
F$rabal!adorMin$egralH
, *un&'o ma"! descobrir o #aior salrio;
#a4
salario
F$rabal!adorMin$egralH
0OA-+
SA,-+
0OA-+
NO)-+
nome_agencia
6*'' 9aria
.-'' 3lia
1('' Ana
*''' Jos7
salario nome_empregado
tra$al6ador_integral
+1*'*
sum salario
1
count nome_agencia
.
count,distinct nome_agencia
.6-6;-*
ag salario
.-''
min salario
6*''
ma" salario
*;*; <lgebra =elacional opera%>es es$endidas
? E# alguns casosD aplica#-se as fun%>es agregadas n&o so#en$e a u# :nico conBun$o de $uplasD #as a
diersos gruposD onde cada grupo 7 u# conBun$o de $uplas; Qs$o 7 reali5ado a$ra7s da opera%&o
c!a#ada agrupamento;
E"! descobrir a so#a $o$al dos salrios dos e#pregados
de $e#po in$egralD por ag"ncia;
solu%&o: par$icionar a rela%&o $rabal!adorMin$egral e#
gruposD co# base na ag"ncia as @uais os e#pregados fa5e# par$e eD
por fi# aplicar a fun%&o agregada a cada u# des$es grupos;
no#eMagencia g su#
salario
F$rabal!adorMin$egralH no#eMagencia g su#
salario
#in
salario
F$rabal!adorMin$egralH
, /ormalmente! 6+D 6-D ;;;D 6n g 3+A+D 3-A-D 3#A# FEHD onde:
E: 7 u#a e4press&o @ual@uer e# lgebra relacionalC
Cada 6i cons$i$ui u# a$ribu$o @ue ser agrupadoC
Cada 3i 7 u#a fun%&o agregadaC
Cada Ai 7 o no#e de u# ab$ribu$oC
.''' NO)-+ Bruno
+''' SA,-+ Bea$ri5
1''' 0OA-+ 3ernando
0OA-+
SA,-+
0OA-+
NO)-+
nome_agencia
6*'' 9aria
.-'' 3lia
1('' Ana
*''' Jos7
salario nome_empregado
tra$al6ador_integral
SA,-+
0OA-+
NO)-+
nome_agencia
1-''
+*.''
('''
sum salario
1-''
+*.''
('''
sum salario
SA,-+
0OA-+
NO)-+
nome_agencia
+'''
1'''
.'''
min salario
*;*; <lgebra =elacional #odifica%>es no BD
? e"clus'o! per#i$e a e4clus&o de $uplas in$eiras de u#a rela%&o; X e4pressa por:
r r ED onde:
r: 7 u#a rela%&oC
E: 7 u#a consul$a e# lgebra relacional
E"! e4cluir $odos as con$as do clien$e Jo&o;
con$a con$a -
no#eMclien$e J NJo&oO
Fcon$aH
E"! e4cluir $odas as con$as das ag"ncias locali5adas e# S&o ,eopoldo;
r+
cidadeMagencia J NS&o ,eopoldoO
Fcon$a agenciaH
r-
no#eMagenciaD nu#eroMcon$aD saldo
Fr+H
con$a con$a r-
*;*; <lgebra =elacional #odifica%>es no BD
? inser&'o! per#i$e a inser%&o de u# conBun$o de $uplas e# u#a rela%&o;
X e4pressa por: r r ED onde r 7 u#a rela%&o e E: 7 u#a consul$a
e# lgebra relacional
Obs:
i; os alores dos a$ribu$os das $uplas a inserir dee# ser #e#bros
do do#8nio dos a$ribu$osC
ii; As $uplas inseridas dee# $er o #es#o grau da rela%&o;
E"! inserir @ue o clien$e Saulo $e# .('' na con$a '+' da ag"ncia NO)-+;
con$a con$a UFNNO)-+OD '+'D .(''HV
deposi$an$e deposi$an$e UFNSauloOD '+'HV
E"! inserir u#a noa caderne$a de poupan%a de +'' reais para
$odos os clien$es da ag"ncia SA,-+D sendo o n:#ero do e#pr7s$i#o o #es#o
n:#ero usado para es$a con$a poupan%a;
r+
cidadeMagencia J NSA,-+O
Fdeedor e#pres$i#oH
r-
no#eMagenciaD nu#Me#pres$i#o
Fr+H
con$a con$a Fr- 4 UF+''HVH
deposi$an$e deposi$an$e
no#eMclien$eD nu#Me#pres$i#o
Fr+H
+('' '''( SA,--
./*' '''/ SA,--
-'' '''6 NO)-+
+*'' '''* 0OA-+
1''' '''1 0OA-+
1*'' '''. NO)-+
.''' '''- SA,-+
+-'' '''+ SA,-+
saldo numero_conta nome_agencia
conta
'''* Ana
'''6 Jos7
'''/ 0aulo
'''1 9aria
'''. 3rancisco
'''- 0edro
'''+ Jo&o
numero_conta nome_cliente
depositante
E-''( )elena
E-''* Ana
E-''+ Jo&o
num_emprestimo nome_client
e
deedor
*1-' E-''( NO)-+
-*1'' E-''* 0OA-+
1'''' E-''+ SA,-+
total num_emprestim
o
nome_agencia
emprestimo
*;*; <lgebra =elacional #odifica%>es no BD
? atuali0a&'o! per#i$e a #udan%a de u#a $upla se# #udar $odos os alores dela; 0ara isso usa-se o
operador de proBe%&o generali5ada:
r
3+D 3-D ;;;D 3n
FrHD e# @ue cada 3i 7 o i-7si#o a$ribu$o de NrO se o i-7si#o a$ribu$o n&o for a$uali5adoD
ouD se o i-7si#o a$ribu$o for a$uali5adoD en$&o cada 3i 7 u#a e4press&o enolendo so#en$e cons$an$es e os
a$ribu$os de NrOD @ue d noos alores a esses a$ribu$os;
E"! A $a4a de Buros au#en$ou e o saldo de $odas as con$as au#en$ou *Y;
con$a
no#eMagenciaD nu#eroMcon$aD saldo saldo T +;'*
Fcon$aH
E"! As con$as co# saldo aci#a de -*'' recebe# +'YD e os de#ais *Y;
con$a
no#eMagenciaD nu#eroMcon$aD saldo saldo T +;+
F
saldo K -*''
Fcon$aHH

no#eMagenciaD nu#eroMcon$aD saldo saldo T +;'*
F
saldo LJ -*''
Fcon$aHH

Você também pode gostar