Académique Documents
Professionnel Documents
Culture Documents
12/10/2009
Roteiro
Operaes Relacionais Unrias
Seleo, Projeo e Rebatizamento
Operaes de Agregamento
12/10/2009
Esquema Exemplo
Estado do banco de dados CONCURSO
12/10/2009
Onde o operador de comparao pode ser =, , , , >, < As clusulas podem ser conectadas por operadores de disjuno (OR) ou conjuno (AND)
12/10/2009
12/10/2009
12/10/2009
Propagao:
<cond 1>( <cond 2> (...( <cond n>(R)...) = <cond 1> AND <cond 2> AND
... AND <cond n>
(R)
12/10/2009
12/10/2009
12/10/2009
12/10/2009
12/10/2009
12/10/2009
Operaes da lgebra Relacional a Partir da Teoria dos Conjuntos Diferentemente das operaes unrias, so aplicadas em duas relaes, a fim de obter uma terceira como resultado da operao aplicada. So baseadas em operaes sobre conjuntos: Unio, Interseo e Diferena As relaes sobre as quais efetuada a operao devem ser unio-compatveis.
12/10/2009
Relaes Unio-Compatveis:
Duas relaes R (A1, A2, , An) e S (B1, B2, , Bn) so ditas unio-compatveis se:
Tiverem o mesmo grau n; dom(Ai) = dom(Bi), para 1 i n.
Ou seja, as duas relaes tm o mesmo nmero de atributos e cada par correspondente de atributos tem o mesmo domnio.
12/10/2009
uma relao R que inclui todas as tuplas que esto em S, ou em T, ou em ambas, S e T. As tuplas repetidas so eliminadas.
12/10/2009
12/10/2009
uma relao R que inclui todas as tuplas que esto em S, mas no esto em T.
12/10/2009
nome (PROFESSOR)
Cand Prof
12/10/2009
nome (PROFESSOR)
PROF AVAL
12/10/2009
nome (PROFESSOR)
PROF - AVAL
12/10/2009
Diferena no comutativa:
RSSR
Associatividade
Unio, interseo e diferena so associativas:
R (S T) = (R S) T R (S T) = (R S) T R (S T) = (R S) T
12/10/2009
Operaes da lgebra Relacional a Partir da Teoria dos Conjuntos Produto Cartesiano (X):
No h necessidade das relaes envolvidas serem unio-compatveis Utilizada para gerar uma nova relao a partir de duas outras, associando suas tuplas de forma combinatria. Em geral, s possui algum sentido se combinada com uma operao de seleo, casando atributos de relaes diferentes que tenham valores iguais.
12/10/2009
12/10/2009
Esquema Exemplo
Estado do banco de dados CONCURSO
Comb PROFESSOR X BANCA_MEMBROS R Nome = Membro (Comb) OU R Nome = Membro (PROFESSOR X BANCA_MEMBROS)
12/10/2009
12/10/2009
12/10/2009
12/10/2009
12/10/2009
nome (CANDIDATO
CAND_COMP)
12/10/2009
12/10/2009
nome (CANDIDATO
CAND_COMP)
12/10/2009
12/10/2009
12/10/2009
12/10/2009
12/10/2009
12/10/2009
12/10/2009
T1 T2 T
12/10/2009
Operaes de Agregamento
Inclui funes ou operaes aplicadas a um conjunto ou grupo de tuplas. Funes bsicas:
Contar Soma Mdia Mnimo Mximo
12/10/2009
Operaes de Agregamento
O agrupamento pode ser feito com base na aplicao da funo de agregamento a todo o conjunto de tuplas da relao ou a um grupo de conjuntos de tuplas, obtido a partir de valores para uma lista de atributos.
12/10/2009
Operaes de Agregamento
Notao (script F):
R
<atributos de agrupamento>
<lista de funes>
(S)
Onde:
<atributos de agrupamento> uma lista de atributos da relao S <lista de funes> uma lista de pares: <funo> <atributo>, onde a funo uma das permitidas pelas operaes de agregao.
12/10/2009
Operaes de Agregamento
Exemplo:
Listar o nmero de candidatos inscritos no concurso:
R (candidatos) contar(*) (CANDIDATO)
12/10/2009
Operaes de Agregamento
Exemplo:
Listar quantos professores doutores estaro aptos para avaliar trabalhos:
S Titulao em (Doutor,Doutora)(PROFESSOR) contar(*) (S) R (candidatos)
12/10/2009
Operaes de Agregamento
Exemplo:
Listar quantas avaliaes foram realizadas para cada professor avaliador:
R (professor,total) (AVALIACAO)
professor
contar(*)
12/10/2009
Operaes de Agregamento
Exemplo:
Listar o nome do aluno que obteve a maior nota de todas as avaliaes realizadas:
S (maior_nota) T mximo(nota) (AVALIACAO) S nota=maior_nota AVALIACAO
12/10/2009
Operaes de Agregamento
Exerccios:
Elabore consultas utilizando operadores da lgebra Relacionais para listar:
1. O nome do empregado mais jovem da empresa 2. O nome do departamento que controla o maior nmero de projetos 3. O total de horas trabalhadas nos projetos, por empregado 4. O nome do empregado que possui maior nmero de dependentes 5. As quantidades de empregados dos sexos masculino e feminino que trabalham na empresa 6. O nome do departamento que mais gasta com pagamento de salrios da empresa
12/10/2009
Outras Operaes
Juno Externa:
Nas junes, apenas as tuplas de ambas as relaes envolvidas que satisfazem condio de juno so retornadas na consulta. H casos em que para uma relao seja necessrio recuperar suas tuplas, mesmo que estas no satisfaam condio de juno. Para isto, utilizamos a operao de juno externa (outter join)
12/10/2009
Outras Operaes
Juno Externa:
Pode ser aplicada:
Na relao esquerda da juno (left outer join) Na relao direita da juno (right outer join) Em ambas as relaes, esquerda e direita da juno (full outer join)
12/10/2009
Outras Operaes
Juno Externa:
Notao:
left outer join: R S T right outer join: R S T full outer join: R S T
12/10/2009
Outras Operaes
Juno Externa:
Exemplo:
Listar as notas das provas didticas por candidato:
S T U R Tipo = Didtica (AVALIACAO) Inscrio,Nota (S) Inscrio,Nome (CANDIDATO) Nome,Nota (U U.Inscrio=T.Inscrio T)
12/10/2009
Juno Externa
Exerccios:
Elabore consultas utilizando operadores da lgebra Relacionais para listar:
1. O nome de cada empregado da empresa e, se for o caso, o departamento que o mesmo gerencia 2. Os nomes dos empregados do departamento Informtica e de suas esposas, caso estas estejam cadastradas como suas dependentes
12/10/2009