Date post: | 06-Jan-2016 |
Category: |
Documents |
Upload: | julia-pacheco |
View: | 21 times |
Download: | 0 times |
of 41
IEC Banco de Dados I
Aula 06 lgebra Relacional
Turmas: Sistemas de Informao
Professora: Andr Luiz da Costa Carvalho
E-mail: [email protected]
Ambiente virtual: hLp://bdufam.wordpress.com
Sumrio
Relaes Unrioas: SELECT e PROJECT Operaes de teoria dos conjuntos Operaes Binrias: JOIN e DIVISION Operaes adicionais Exemplos de consultas Clculo relacional Clculo relacional de domnios
The Relational Algebra and Relational Calculus Relational algebra
Basic set of operations for the relational model Relational algebra expression
Sequence of relational algebra operations Relational calculus
Higher-level declarative language for specifying relational queries
Operaes unrias: SELECT e PROJECT SELECT
Subconjunto das tuplas de uma relao que satisfazem uma condio
Condio booleana no formato ou
Operaes unrias: SELECT e PROJECT Exemplo:
aplicada individualmente a cada tupla t em R Se condio TRUE, tupla aparece na resposta
Condies booleanas AND, OR, e NOT Unria
Aplicada a uma nica relao
Operaes unrias: SELECT e PROJECT Selectividade de uma condio
Frao das tuplas selecionadas SELECT comutativo SELECT em cascata podem ser uma nica
operao com AND
Project
Seleciona atributos de uma relao e discarta os outros:
Grau Nmero de atributos em
Eliminao de duplicatas Resultado de um PROJECT um conjunto de
tuplas distintas. SELECT DISTINCT Nota from Matricula
Conjunto de operaes e renomear Expresso inline:
Sequncia de operaes:
Renomear atributos intermedirios AS
Operaes de teoria dos conjuntos
UNIO, INTERSECTION, e MENOS Unem elementos de dois conjuntos. Operaes binrias Relaes devem ter o mesmo tipo de tuplas
UNIO R S Inclui todas as tuplas que esto em R ou em S ou
em ambos. Duplicatas so eliminadas
Operaes de teoria de conjuntos
INTERSEO R S Inclui todas tuplas que esto em R e S
DIFERENA DE CONJUNTOS (oo MINUS) R S Inclui todas tuplas que esto em R mas no em S
PRODUTO CARTESIANO
PRODUTO CARTESIANO PRODUTO CRUZADO ou CROSS JOIN Simbolo: Binrio Relaes no compatveis podem ser unidas til quando seguida de uma seleo que casa
dois atributos.
JOIN e DIVISION
JOIN Smbolo: Combina tuplas relacionadas em duas relaes
em tuplas nicas mais longas Condio de unio no formato: AND
AND...AND Exemplo:
JOIN e DIVISION
THETA JOIN Cada da forma Ai Bj Ai atributo de R Bj atributo de S Ai e Bj tem o mesmo domnio (theta) um dos operadores de comparao:
{=, , , }
EQUIJOIN e NATURAL JOIN
EQUIJOIN S com = Um ou mais atributos tem que ser iguais para
tupla entrar NATURAL JOIN
Sinal * Remove a necessidade dos atributos em um
EQUIJOIN Atributo de join deve ter o mesmo nome
EQUIJOIN e NATURAL JOIN
Selectividade de um Join Tamanho esperado de um join dividido pelo
tamanho mximo nR * nS Inner joins
Casa primeiro, combina depois Definido formalmente como um PRODUTO
CARTESIANO combinado com uma SELEO.
Operaes de lgebra Relacional
Conjunto de operaes {, , , , , } um conjunto completo Qualquer operao de lgebra relacional pode
ser feita atravs de uma sequencia deles.
Diviso
Smbolo: Exemplo: recupere o nome dos funcionrios
que trabalham em todos os trabalhos que John Smith trabalha.
Exemplo 2: recupere todos os alunos que pagam todas as disciplinas que voc paga.
Aplicando: R(Z) S(X)
Operaes de lgebra Relacional
Operaes de lgebra Relacional
rvores de consultas
Query tree Representa as relaes de entrada de uma
consulta como folhas de uma rvore. Operadores de lgebra relacional so ns
internos.
Operaes adicionais
Projeo generalizada Funes sobre os atributos na lista da projeo
Funes agregadoras e agrupamento Funes aplicadas a valores numricos Incluindo SUM, AVERAGE, MAXIMUM, e
MINIMUM
Agrupamento
Agrupa tuplas pelo valor de algum(s) atributo(s) Funo de agregamento para cada grupo
Fechamento recursivo
Operao sobre relacionamento recursivo entre tuplas da mesma relao.
Ex: Todos funcionrios supervisionados por James Borg.
OUTER JOIN
Outer joins Todas tuplas de R, ou todas de S, ou todas de
ambas independente de haver casamento ou no com a outra relao
Tipos LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL
OUTER JOIN Exemplo:
OUTER UNION
Unio de duas relaes com atributos em comum, mas no todos. Incompatveis com Unio comum.
Parcialmente compatveis Todas tuplas de ambas relaes so incluidas
Full Outer Join Tuplas com mesmo valor nos atributos
compatveis aparecem apenas uma vez. Exemplo: Aluno ou Professor
Exemplos de consultas em lgebra relacional
Exemplos de consultas em lgebra relacional
Exemplos de consultas em lgebra relacional
Clculo Relacional
Clculo Relacional de tuplas
Expresso declarativa Linguagem no procedural (ordem no importa) Expresso o o que e no o como
Qualquer consulta em algebra relacional Tambm pode ser expressa em clculo
Variveis Tuplas e Intervalos
Variveis tuplas Qualquer intervalo nas tuplas de uma relao
Satisfazendo COND(t): Especifica:
Relao R a qual t pertence Seleciona combinaes especficas de tuplas. Conjunto de atributos a serem recuperados
(atributos requisitados)
Frmulas e Expresses
Expresso genrica em clculo relacional de tuplas:
Valor verdade de um tomo VERDADEIRO ou FALSO para um conjunto
especfico de tuplas R(t) V se t pertence a R t.atrb op t.atrb ou t.atrb op c
Frmula (condio booleana) Um ou mais tomos conectados por AND, OR, e
NOT
Quantificador existencial e Universal Quantificador Universal () Quantificador Existencial () Define uma varivel tupla como livre ou
restrita
Exemplo de consultas
Transformando quantificadores
Transforme um quantificador em outro atravs da negao(precedendo de NOT) AND e OR so trocados Frmulas negadas so desnegadas Frmulas desnegadas so negadas.
Quantificador universal em consultas
Expresses seguras
Garantem um nmero finito de resultados na resposta Seno chamada de no segura.
Expresso segura Se todos os valores do resultado so do domnio
da expresso
Clculo Relacional de Domnio
Difere do clculo de tuplas no tipo de varivel usado nas frmulas Variveis variam sobre valores individuais dos
domnios dos atributos Frmula feita de tomos
Verdadeiro ou falso para um conjunto especfico de valores Valores verdade do tomo
Clculo Relacional de Domnio
QBE (Query by Example) Baseada em clculo relacional de domnio