Escolar Documentos
Profissional Documentos
Cultura Documentos
CIÊNCIAS TECNOLÓGICAS
ÁLGEBRA RELACIONAL
Sessão VII
WILSON JÓSE PAIVA
• SELEÇÃO ()
• Descrição: seleciona tuplas que satisfazem a um predicado
• Entrada: uma relação R
• Saída: uma relação R’, tal queR’R
• Formato: <predicado de seleção> (R)
AND , OR , NOT ,
, , =, , ,
• Ex:
(ALUNO)
Nome‘João Azevedo’ AND N_matricula>1111111111
Base de Dados I – Prof. Wilson Paiva
Seleção– Exemplo
3
• Tabela r A B C D
1 7
5 7
12 3
23 10
• PROJEÇÃO () 4
• Descrição: seleciona atributos de uma relação
• Entrada: uma relação R
• Formato: (R)
<lista de atributos>
• Ex:
Nome, N_matricula (ALUNO)
( (ALUNO))
Nome, Data_nasc N_matricula>1111111111
• Tabela r: A B C
10 1
20 1
30 1
40 2
A C
( R)
A ,C 1 Em SQL
Select a, c from R
1
1
Base de Dados I – Prof. Wilson Paiva 2
Esquema das operações 6
• UNIÃO ()
• Descrição: reúne em uma única relação as tuplas
das relações de entrada
• Entrada: duas relações R1 e R2, compatíveis.
• Sejam duas relações de grau n, R1(A1, ..., An) e R2(B1,
..., Bn), se dom(A1)=dom(B1), ..., dom(An)=dom(Bn),
então R1 e R2 são compatíveis.
• Saída: uma relação R’, tal que grau(R’) = grau(R1)
= grau(R2) e R’R1 e/ou R’R2
• Formato: R1 R2
• Tabelas r, s: A B A B
1 2
2 3
1 s
r
r s: A B
1
Em SQL
Select a, b from R
2
Union all
1 Select a,b from S
3
Base de Dados I – Prof. Wilson Paiva
Modelo Relacional – Álgebra Relacional
• Ex:
(ALUNO) − (PROFESSOR)
Nome Nome
• Tabelas r, s: A B A B
1 2
2 3
1 s
r
A B
Em SQL
r – s: Select a, b from R
1 minus
1
Select a, b from S
Base de Dados I – Prof. Wilson Paiva
Modelo Relacional – Álgebra Relacional
Tabelas r, s: A B C D E
1 10 +
10 +
2
20 –
r 10 –
s
r x s: A B C D E
1 10 +
Em SQL
1 19 +
1 20 – Select * from R,S
1 10 –
2 10 +
2 10 +
2 20 –
Base de Dados I – Prof. Wilson Paiva
2 10 –
Operador relacional de DIVISÃO
13
COL1 COL2 COL2 COL1
A 1 2 C
B 1 3 A÷B
C 2
Tabela_B
A 2
B 3 As linhas da Tabela A que não possuem correspondência
com todas as linhas da Tabela B serão excluídas.
C 3
Em SQL
A 4
Select distinct col1 from Tabela_A a
B 4 where not exists (select null from Tabela_B b
C 5 where not exists (select null
from Tabela_A
Tabela_A where col2=b.col2 and
a.col1=col1));
Base de Dados I – Prof. Wilson Paiva
Operador relacional de RENOMEAR
14
Sintaxe
ρ<novo nome (R)
Exemplo
TB_ESTADO_CIVIL (estado_civil, descrição)
ρEA(cod,desc) (TB_ESTADO_CIVIL)
Em SQL
Select estdo_civil as cod, descrição as desc
from TB_ESTADO_CIVIL EA
Base de Dados I – Prof. Wilson Paiva
15
Representação Gráfica
• Operadores Tradicionais
• Operadores Tradicionais
• Produto Cartesiano
• Operadores Relacionais
• Seleção Projeção
• União RS
• Diferença R–S
• Prod. Cartesiano RS
• Seleção F (R)
• Projeção i1, i2, ...,
im(R)
• Junção R⋈S
• Tabela r:
A B C
7
7
3
10
sum-C
Sum c(r)
27