You are on page 1of 41

IEC

Banco de Dados I
Aula 06 lgebra Relacional
Turmas: Sistemas de Informao
Professora: Andr Luiz da Costa Carvalho
E-mail: andre@icomp.ufam.edu.br
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

Relational algebra expression

Basic set of operations for the relational model


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


<attribute name> <comparison op> <constant value>
ou
<attribute name> <comparison op> <attribute name>

Operaes unrias:
SELECT e PROJECT

Exemplo:
<selection condition> 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 <attribute list>

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

RS
Inclui todas as tuplas que esto em R ou em S ou
em ambos.
Duplicatas so eliminadas

Operaes de teoria de conjuntos

INTERSEO

RS
Inclui todas tuplas que esto em R e S

DIFERENA DE CONJUNTOS (oo MINUS)

RS
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: <condition> AND
<condition> AND...AND <condition>
Exemplo:

JOIN e DIVISION

THETA JOIN

Cada <condition> 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

You might also like