Escolar Documentos
Profissional Documentos
Cultura Documentos
BD 06 AlgebraRelacional
BD 06 AlgebraRelacional
lgebra Relacional
Professor Marcio Victorino mcvictorino@uol.com.br
lgebra Relacional
Coleo de operaes usadas para manipular relaes
inteiras. O resultado dessas operaes uma nova relao,
que por sua vez pode ser manipulada pelas operaes da
lgebra relacional (propriedade de fechamento da lgebra
relacional). Conceitos envolvidos:
Relao: representada por uma tabela de duas dimenses (linhas e
colunas);
Grau da Relao: nmero de atributos.
Tupla: corresponde a uma linha da relao;
Atributo: corresponde s colunas da relao;
Chave primria: conjunto de atributos que identificam univocamente
cada tupla da relao;
Chave estrangeira: atributo de uma relao que chave primria de
outra relao.
Professor Marcio Victorino
lgebra Relacional
Chave Estrangeira
Operadores
Podem ser agrupadas em duas categorias:
Operadores de Conjuntos Tradicionais:
Unio
Interseo
Diferena
Produto Cartesiano
Operadores Tradicionais
UNION:
Operador binrio.
Constri uma relao consistindo em todas as tuplas que aparecem
nas relaes especficas.
As duas relaes devem possuir o mesmo nmero de colunas e cada
par de colunas correspondentes possui o mesmo domnio (compatveis
para unio).
Alunos Turma VA
Alunos
Turma VA
Operadores Tradicionais
UNION:
GENTE
PESSOA
CPF
Nome
CPF
Nome
CPF
Nome
111
Caio
111
Caio
333
Abel
222
Beto
222
Beto
888
Lia
333
Abel
333
Abel
999
Bia
888
Lia
999
Bia
Operadores Tradicionais
INTERSECT:
Operador binrio.
Constri uma relao consistindo em todas as tuplas que aparecem
em ambos os pares de relaes especficas.
Alunos Turma VA
Alunos
Turma VA
Professor Marcio Victorino
Operadores Tradicionais
INTERSECT:
GENTE
PESSOA
CPF
Nome
CPF
Nome
111
Caio
333
Abel
222
Beto
888
Lia
333
Abel
999
Bia
CPF
Nome
333
Abel
Operadores Tradicionais
DIFERENCE:
Operador binrio.
Constri uma relao consistindo em todas as tuplas que aparecem
na primeira, mas no na segunda, do par de relaes especficas.
Alunos
Alunos - Turma VA
Turma VA
Alunos
Turma VA
Turma VA - Alunos
Operadores Tradicionais
DIFERENCE:
GENTE
PESSOA
CPF
Nome
CPF
Nome
111
Caio
333
Abel
222
Beto
888
Lia
333
Abel
999
Bia
PESSOA
CPF
Nome
333
Abel
888
999
CPF
Nome
111
Caio
222
Beto
CPF
Nome
888
Lia
999
Bia
GENTE
CPF
Nome
111
Caio
Lia
222
Beto
Bia
333
Abel
10
Operadores Tradicionais
PRODUCT:
Constri uma relao a partir de duas relaes
especficas consistindo em todas as possibilidades de
pares de tuplas concatenados, uma de cada uma das
duas relaes especficas.
PACIENTE
PACIENTE X MEDICO
MEDICO
11
Operadores Relacionais
SELECT:
Smbolo (sigma).
Operador unrio.
Extrai tuplas especficas de uma relao especfica.
Esta operao sobre uma tabela resulta numa relao que contm
apenas as tuplas que satisfazem comparao indicada na operao.
O grau da relao resultante igual ao grau da relao R original.
Obs: no confundir SELECT algbrico com o SELECT do SQL.
Alunos
Turma=VB
Professor Marcio Victorino
12
(ALUNOS)
Operadores Relacionais
SELECT:
PESSOA
CPF
Nome
111
Caio
222
Beto
333
Abel
888
Lia
999
Beto
Nome =Lia
(PESSOA)
13
CPF
Nome
888
Lia
Operadores Relacionais
Project:
Smbolo
(pi).
Operador unrio.
Extrai determinadas colunas de uma tabela e descarta outras.
Remove quaisquer tuplas replicadas (eliminao de duplicatas).
O nmero de tuplas em uma relao resultante de uma operao PROJETAR
sempre menor ou igual ao nmero de tuplas em R.
Peas
14
Operadores Relacionais
Project:
PESSOA
CPF
Nome Sexo
111
Darci
Nome
Sexo
222
Lia
Darci
333
Beto
Lia
888
Darci
Beto
999
Beto
Darci
Nome, Sexo
15
(PESSOA)
Operadores Relacionais
JOIN (INNER JOIN):
Smbolo |X|.
Constri uma relao a partir de duas relaes especficas consistindo em
todas as possibilidades de pares de tuplas concatenados, uma de cada uma
das duas relaes especficas, de forma que em cada par as duas tuplas
satisfaam uma condio especfica.
EQUIJOIN:
A juno mais comum, envolve condies de juno somente com
comparaes de igualdade.
NATURAL JOIN:
Smbolo *.
Foi criada para eliminar repetio desnecessria dos atributos em uma
EQUIJOIN.
Na Juno Natural necessrio que as duas colunas redundantes possuam o
mesmo nome, pode-se renomear uma das colunas antes da juno.
16
Operadores Relacionais
PACIENTE
CONSULTA
PACIENTE|X|
PACIENTE.Cod_Pac=CONSULTA.Cod_Pac
atributos de juno
Professor Marcio Victorino
17
CONSULTA
Operadores Relacionais
OUTER JOIN (Juno Externa):
Utilizado quando desejamos manter todas as tuplas de uma das duas
relaes ou todas as tuplas das duas relaes em uma operao de
juno:
Pode ser:
LEFT OUTER JOIN (Juno Externa Esquerda).
RIGHT OUTER JOIN (Juno Externa Direita).
FULL OUTER JOIN (Juno Externa Completa).
18
19
20
21
Operadores Relacionais
DIVIDE:
Em geral, toma duas relaes, uma binria e outra
unria, e constri uma relao consistindo em todos os
valores de um atributo da relao binria com
equivalncia (no outro atributo) a todos os valores da
relao unria.
A B
B
22
Fim
Professor Marcio Victorino
23