Sunteți pe pagina 1din 37

BasedeDados

lgebra relacional e Clculo Relacional

Introduo
LinguagemdeDeniodeDados(LDD): comandosparadeniodoesquemalgicoe:sicodoBD LinguagemdeManipulaodeDados(LMD): comandosparaespecicaodeconsultasaoBD comandosparamanipulaodosdadosnoBD:
insero actualizao remoo

Classicaodaslinguagens: procedimentais:consultasespecicamaordemdeexecuodas operaesnecessriasparaobteraresposta declara0vas:consultasespecicamaresposta,semindicarque operaesdevemserrealizadasparaobtla

Introduo
ClculoRelacional linguagemdeclaraIva paradigmaparaaslinguagensrelacionais lgebraRelacional procedimental mesmopoderdeexpressoqueoClculoRelacional variantesdalgebraRelacionalsousadasinternamentepelos SGBDsrelacionaisduranteaoImizaodeconsultas SQLStructuredQueryLanguage originriadoClculoRelacional semideclaraIva interfacepadrodosSGBDsrelacionais

lgebraRelacional
Conjuntodeoperadoresquepermitemmanipular

relaes:

Operaessobreconjuntos: Removerlinhas(seleco) removercolunas(projeco) OperaesquecombinaminformaoconIdaemvarias

relaes:produtoscartesianosejoins.

Mudaronomearelaeseatributos

lgebraRelacional
lgebraRelacional: operaesmapeiamumaoumaisrelaesemumanovarelao algumasoperaesimpemrestriesnasrelaesdeentrada Operaes: Bsicas: oriundasdateoriadeconjuntos:ProdutoCartesiano,UnioeDiferena especcaspararelaes:Seleo,ProjeoeRenomeo Adicionais oriundasdateoriadeconjuntos:Interseo especcaspararelaes:DivisoeJuno Notas: asoperaesbsicassosucientesparaexprimirasmesmasconsultas queoClculoRelacional asoperaesadicionaisajudamaformularcertasconsultasqueseriam muitocomplexasdeexprimirusandoapenasasoperaesbsicas

Asoperaesrelacionais
Sodenidasnoveoperaesparasetrabalharcomlgebra

relacional:

UnionUnio; IntersecIonInterseco; DierenceDiferena,Subtrao; ProductProduto,ProdutoCartesiano.

Estasquatrooperaessoprovenientesdateoriade

conjuntos,damatemIca.

Asoperaesrelacionais
SelectSeleco; ProjectProjeco; JoinJuno; DivideDiviso.

Aplicamseespecicamenteaomodelodedadosrelacional.

Asoperaesrelacionais
AssignmentDesignao,Atribuio.

umaoperaopadrodaslinguagenscomputacionais.

Asoperaesrelacionais
Bsicas Seleco()selecionaumsubconjuntodelinhasdeuma relao Projeco()apagacolunasdesnecessriasdeumarelao Produtocartesiano(X)permitecombinarduasrelaes Unio(U)tuplasnarelao1enarelao2 Diferena()tuplasnarelao1masnonarelao2 Renomeao()renomeiatabela Atribuio()Atribuivaloresasvariveis Derivadas Juno,interseo,diviso muitoteis!

Asoperaesrelacionais
Operaesespeccaspararelaes:

Seleco
Notao:p pchamadopredicado/condiodeseleco Entrada:Tabela(R)

Operadores de comparao (=, <, <=, >, >=) e Operadores lgicos:(and),V(or)e(not)

Propsito:ltragemdelinhasdeacordocomumcritrio Sada: mesmas colunas de R, porm somente as linhas de R

quesaIsfazemaocritriop

ExemplodeSeleco
EstudantescomCR>8,0

CR>8,0(estudante)

Seleco
Umpredicadodeseleopodeincluir,emgeral,qualquer

colunadeR,constantes,comparaes(=,,etc.,)econecIvos booleanos(,,and~) que21anos

Exemplo:EstudantescomCR>8,0emenoresde18oumaiores cr>8,0(idade<18idade>21)(estudante)

Projeco
Notao:L LlistadeatributosdeR Entrada:Tabela(R) Propsito:selecionacolunasemR Sada:mesmaslinhasdeR,pormsomenteas

colunasdeRquesaIsfazemaocritrioL

ExemplodeProjeco
SIDenomedosestudantes SID,Nome(estudante)

ExemplodeProjeco
SIDenomedosestudantes

idade(estudante)
Duplicidadedevesereliminada

Selecoeprojecojuntos

Juntarrelaes

ProdutoCartesiano
Notao:RXS Entrada:Tabela(R)eTabela(S) Propsito:geracombinaesdelinhasdasduas

tabelas

Sada:ParacadalinharemRecadalinhasemS,

geraratuplars

ExemploProdutoCartesiano

NotasobreProdutoCartesiano
Aordemdascolunasnoimportante AssimaoperaocomutaIva
RXS=SXR

Unio
Notao:RUS ReSdevemteromesmoesquema Entrada:Tabela(R)eTabela(S) Propsito:geralinhasdeacordocomumcritrio Sada:ContmtodasaslinhasdeRedeS
Oesquemaomesmodastabelasdeentrada Duplicidadeeliminada

Renomeao
Notao:S(R)ouS(A1,A2,...)(R) Renomeia R para S ou renomeia R para S com atributos renomeados A1,A2,... Entrada:Tabela(R) Propsito:redenirnometabelas/oucolunasnumcontexto Sada:TabelarenomeadacommesmaslinhasdeR Usadapara Ilparaautorelacionamentos,ondeprecisamosfazerajunode

uma tabela com ela mesma, e nesse caso cada verso da tabela precisareceberumnomediferentedaoutra. CriacolunasidnIcasnumajunonatural

ExemploRenomenao

Juno
Notao:RS pacondio/predicadodajuno Entrada:Tabela(R)eTabela(S) Propsito:geralinhasdeacordocomumcritrio Sada:ParacadalinharemRecadalinhasemS, geraratuplarsse,esomentese,atenderemacondiop Abreviaoparap(RXS)

ExemploJunoouThetaJoin

OperadorDerivadoJunoNatural
Notao:RS Entrada:Tabela(R)eTabela(S) Propsito:relacionalinhasdastabelas
Reforaaigualdadedeseusatributos Elimina1cpiadosatributoscomuns

Sada:ParacadalinharemRecadalinhasemS,

geraratuplarsse,esomentese,atenderema condiop

ExemploJunoNaturalouEquiJoin

Diferena
Notao:RS ReSdevemteromesmoesquema Entrada:Tabela(R)eTabela(S) Propsito:geralinhasdeacordocomumcritrio Sada:ContmtodasaslinhasdeRequenoso

encontradasemS

Oesquemaomesmodastabelasdeentrada

OperadorDerivadoInterseo
Notao:RS ReSdevemteromesmoesquema Entrada:Tabela(R)eTabela(S) Propsito:geralinhasdeacordocomumcritrio Sada:ContmtodasaslinhasdeRqueso

encontradasemStambm

Oesquemaomesmodastabelasdeentrada R(RS)ouS(SR)ouRS

Diviso
Notao:RS Entrada:Tabela(R)eTabela(S) Sejagrauamedidadeatributosdemesmonome Rtemgrau(m+n) Stemgraun Propsito:geralinhasdeacordocomumcritrio Sada:atributosdeScujosvaloresassociamsecom

todososvaloresdeR
Graum

ExemploDiviso

Atribuio
Armazenaoresultadodeumaexpressoalgbrica

emumavarivelderelao
complexaemetapas

permiteoprocessamentodeumaconsulta

Notao
nomeVarivelexpressolgebra

Exemplo
r1nome=bob(estudante)

FunesAgregadas
Para aquelas consultas que no podem ser

resolvidas simplesmente atravs da lgebra relacional, introduzse um conjunto de funes agregadas

Funes comumente aplicadas a conjuntos de

dados so: Mdia, Mximo, Mnimo, Soma, Contador

Propriedadesdosoperadores:

Representaodeexpressesporrvores:

Resumo

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