Você está na página 1de 23

Banco de Dados

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

Professor Marcio Victorino

Operadores
Podem ser agrupadas em duas categorias:
Operadores de Conjuntos Tradicionais:
Unio
Interseo
Diferena
Produto Cartesiano

Operadores Relacionais Especiais:


Seleo
Projeo
Juno
Diviso

Professor Marcio Victorino

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

Professor Marcio Victorino

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

Professor Marcio Victorino

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

Professor Marcio Victorino

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

Professor Marcio Victorino

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

Professor Marcio Victorino

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

Professor Marcio Victorino

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

Alunos onde Turma = VB

Turma=VB
Professor Marcio Victorino

12

(ALUNOS)

Operadores Relacionais
SELECT:

PESSOA
CPF

Nome

111

Caio

222

Beto

333

Abel

888

Lia

999

Beto

Professor Marcio Victorino

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

nome, fabricante (PECAS)

projetar cdigo, nome, fabricante, estoque da tabela peas

Professor Marcio Victorino

14

Operadores Relacionais
Project:
PESSOA
CPF

Nome Sexo

111

Darci

Nome

Sexo

222

Lia

Darci

333

Beto

Lia

888

Darci

Beto

999

Beto

Darci

Professor Marcio Victorino

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.

Professor Marcio Victorino

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).

Professor Marcio Victorino

18

LEFT OUTER JOIN


R

Professor Marcio Victorino

19

RIGHT OUTER JOIN


R

Professor Marcio Victorino

20

FULL OUTER JOIN


R

Professor Marcio Victorino

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

Professor Marcio Victorino

22

Fim
Professor Marcio Victorino

23

Você também pode gostar