Buscar

Aula 09 - Algebra relacional

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Álgebra Relacional
 Descreve qualquer operação de consulta sobre 
relações
 Linguagem orientada a manipulação de 
relações e não de registros
 O resultado de uma operação sobre uma ou 
mais relações gera uma outra relação
 Linguagem com 8 operadores:
 5 fundamentais (união, diferença, produto 
cartesiano, seleção e projeção)
 3 derivados (interseção, junção e divisão)
Exemplo: BD Bancário
 CLIENTE (nome, rua, cidade)
 EMPRÉSTIMO(nome_ag, num_empréstimo, nome_cliente, 
quantia)
 AGÊNCIA(nome, ativos, cidade)
 DEPÓSITO( nome_ag, num_conta, nome_cliente, saldo)
Operadores Fundamentais
 Seleção: seleciona tuplas que satisfazem 
uma dada condição
 <condição> permite o uso dos seguintes 
operadores:
 =, <>, <, >,<=, >= (de comparação)
 and, or, not (lógicos)
 (relação>)
<condição>
 Seleção - Exemplos:
 Buscar todos os clientes que moram em 
Belém:
 CIDADE = “Belém” (CLIENTE)
 Buscar os empréstimos realizados na 
agência Ag2 com quantia > 800
 nome_ag = “Ag2” and quantia>800 (empréstimo)
Operadores Fundamentais
Operadores Fundamentais
 Projeção: seleciona atributos (colunas) de 
uma relação.
 (< relação >)
(< lista_atributos >)
Projeção - exemplos
 Buscar nome e cidade dos clientes
 Buscar nome e rua de todos os clientes da 
cidade de Belém
 (< CLIENTE >)
Nome, cidade
 ( < CLIENTE >)cidade = “Belém”
Nome, rua
Operadores Fundamentais
 Produto Cartesiano: Combinação de 
todas as tuplas de duas relações.
 Usado quando se necessita obter dados 
presentes em duas ou mais relações
 Notação: <relação1> X <relação2>
a
b
c
x
y
a x
a y
b x
b y
c x
c y
X =
Produto Cartesiano - Exemplos
 Buscar número e saldo de todas as contas 
dos clientes que moram em Belém
R1 =  (CLIENTE X DEPÓSITO)
cidade = “Belém”
R2 =  num_conta, saldo(R1)
Operadores Fundamentais
 União: Une as tuplas de duas relações que 
sejam compatíveis com união
 relações com o mesmo grau
 relações cujos domínios dos atributos são 
iguais na mesma ordem de definição das 
colunas
 Notação: <relação1> U <relação2>
União - Exemplos
 Uma vez que as relações são conjuntos, os 
valores duplicados são eliminados
 Exemplo:
 Buscar todos os clientes da agência Ag1 que têm 
empréstimos ou depósitos
R1 = nome_cliente( nome_ag = “Ag1” (EMPRÉSTIMO))
R2 =  nome_cliente( nome_ag = “Ag1” (DEPÓSITO))
R = R1 U R2
Condições necessárias
 A relações r e s devem possuir o mesmo 
numero de atributos.
 Os domínios do i-ésimo atributo de r e o i-
ésimo atributo de s devem ser os mesmos, 
para todo i. 
Operadores Fundamentais
 Diferença (-): 
 Retorna as tuplas de uma relação1 cujos valores dos 
atributos não estão presentes em uma relação2
 Notação: <relação1> - <relação2>
 Exemplo: Buscar nomes dos clientes da Agência Ag1 
que não possuem depósito
 nome_cliente( nome_ag = “Ag1” (EMPRÉSTIMO)) -
 nome_cliente( nome_ag = “Ag1” (DEPÓSITO))
Operadores Derivados
 Interseção
 Retorna as tuplas cujos valores de seus 
atributos sejam comuns às relações 1 e 2
 Notação: relação1  relação2
 Exemplo: Buscar os clientes de Ag1 que 
possuem empréstimo e depósito
 nome_cliente( nome_ag = “Ag1” (EMPRÉSTIMO)) 
 nome_cliente( nome_ag = “Ag1” (DEPÓSITO))
Operadores Derivados - Junção
 Junção (ou ligação): Combinação dos operadores 
produto cartesiano e Seleção;
 Retorna tuplas de um produto cartesiano que satisfazem uma 
condição
 Na condição os atributos devem pertencer ao mesmo domínio e a 
operação deve fazer sentido para esse domínio
 Notação: relação1 |X| relação2
[condição]
a1 b1
a2 b2
a3 b3
a1 b1 c1
a2 b2 c2
a3 b3 c3
b1 c1
b2 c2
b3 c3
|X| =
 Junção Natural: Assume a junção por atributos comuns 
sem repetir o atributo no resultado
 Retorna tuplas de um produto cartesiano sem especificar 
condição
 nomes de atributos devem coincidir para ser aplicada junção natural
Notação: relação1 |X| relação2
 Exemplo junção: Buscar número e saldo de todas as 
contas dos clientes que moram em Belém:
  num_conta, saldo (CLIENTE |X| DEPÓSITO)
nome = nome_cliente and 
cidade = “Belém”
Operadores Derivados - Junção
Operadores Derivados - Divisão
 Divisão é utilizada quando se deseja extrair de 
uma relação R1 uma determinada parte que 
possui as características (valores de atributos) da 
relação R2
 Consultas com a frase “para todos”;
 Operadores:
 Dividendo (Relação R1 com grau m+n)
 Divisor (Relação R2 com grau m)
 Quociente (Relação resultante com grau n)
 Notação: relação1  relação2
a x
a y
a z
b x
c y
X
y a =
Exemplo - Divisão
Encontrar todos os clientes que têm conta em todas as 
agências localizadas em Belém
 nome_cliente, nome_ag (depósito) 
 nome ( cidade = “Belém”(agência)

Outros materiais