Álgebra Relacional
Álgebra Relacional
Álgebra Relacional
fechamento
resultados de consultas so relaes
lgebra Relacional
Operadores para consulta de relaes
Linguagem procedural
uma expresso na lgebra define uma execuo
sequencial de operadores
a execuo de cada operador produz uma relao
derivados
binrios: interseco e juno
especial
renomeao (unrio)
Seleo
Retorna tuplas que satisfazem um predicado
Resultado
subconjunto horizontal de uma relao
Notao
predicado
(relao)
Operadores de comparao
=, <, <=, >, >=,
resultado
Projeo
Retorna um ou mais atributos de interesse
Resultado
subconjunto vertical de uma relao
Notao
lista_nomes_atributos
(relao)
z
1
2
3
resultado
x y
1 1
2 2
Para resolver
1) buscar os dados dos mdicos ortopedistas com
mais de 55 anos
2) buscar os dados de todas as consultas, exceto
aquelas marcadas para os mdicos com cdigo
46 e 79
3) buscar o nmero dos ambulatrios do terceiro
andar
4) buscar o cdigo dos mdicos e as datas das
consultas para os pacientes com cdigo 122 e
725
Produto Cartesiano
Retorna todas as combinaes de tuplas de duas
relaes R1 e R2
Grau do resultado
grau(R1) + grau(R2)
Cardinalidade do resultado
cardinalidade(R1) * cardinalidade(R2)
Notao
relao1
Exemplo:
R1
x
1
2
3
y
1
2
3
z
1
2
3
R2
w y
1 1
2 2
relao2
R1 X R2
x R1.y
1
1
2
2
3
3
1
1
2
2
3
3
z
1
1
2
2
3
3
w R2.y
1
2
1
2
1
2
1
2
1
2
1
2
Para resolver
1) buscar o nome dos mdicos que tm consulta
marcada e as datas das suas consultas
2) buscar o nmero e a capacidade dos ambulatrios
do quinto andar e o nome dos mdicos
ortopedistas que atendem neles
3) buscar, para as consultas marcadas para o
perodo da manh (7hs-12hs) do dia 29/08/13, o
nome do mdico, o nome do paciente e a data da
consulta
Otimizao Algbrica
Buscar o nome dos mdicos que esto
internados como pacientes, sofrendo de
hepatite
Mdicos.nome
Renomeao
Altera o nome de uma relao e/ou dos seus
atributos
Notao
(nome_atributo1,
Exemplos
R
x y z
1 1 1
2 1 3
R X R1 (R)
R.x
R.y R.z
1
1
1
1
1
1
2
1
3
2
1
3
(a, b, c) (R) a b c
1 1 1
2 1 3
(relao)
R1.x
1
2
1
2
R1.y R1.z
1
1
1
3
1
1
1
3
Para resolver
1)
Grau do resultado
grau(R1) (ou grau(R2))
Unio
Retorna a unio das tuplas de de duas
relaes R1 e R2
Eliminao automtica de duplicatas
Notao
relao1 relao2
Exemplo:
R1
R2
R1 R2
x
1
1
2
3
y
1
2
2
1
z
1
2
3
1
x
1
1
1
y z
1 1
2 1
2 3
x
1
1
1
1
2
3
y
1
2
2
2
2
1
z
1
1
2
3
3
1
Diferena
Retorna as tuplas presentes em R1 e
ausentes em R2
Notao
relao1 relao2
Exemplo:
R1
x
1
1
2
3
R1 R2
R2
y
1
2
2
1
z
1
2
3
1
x
1
1
3
y
1
2
1
z
1
1
1
x y z
1 2 2
2 2 3
Interseco
Retorna as tuplas comuns a R1 e R2
Notao
relao1 relao2
Exemplo:
R1
x
1
1
2
3
R1 R2
R2
y
1
2
2
1
z
1
2
3
1
x
1
1
3
y
1
2
1
z
1
1
1
x y z
1 1 1
3 1 1
Juno (Join)
Retorna a combinao de tuplas de duas
relaes R1 e R2 que satisfazem um
predicado
Notao
relao1
Exemplo:
R1
x
1
2
3
y
1
2
3
z
1
2
3
relao2
R2
R1 X R2
w y
1 1
2 2
x
2
3
3
R1.y
2
3
3
R2.y
1
1
2
Juno Natural
Exemplos
R1
x
1
1
2
R1
x
1
1
2
y z
1 1
1 2
2 3
y z
1 1
1 2
2 3
R2
w y
1 1
2 2
R1
x
1
1
2
R2
x y w
1 1 3
2 2 2
R1
x
1
1
2
y
1
1
2
R2
z
1
2
3
w
1
1
2
y
1
1
2
R2
z
1
2
3
w
3
3
2
Juno Natural
Exemplos
R1
x y z
1 1 1
1 1 2
R2
w t
1 1
2 2
R1
x
1
1
1
1
y
1
1
1
1
R2
z
1
1
2
2
w
1
2
1
2
t
1
2
1
2
Para resolver
1) buscar o nmero e a capacidade dos ambulatrios
do quinto andar e o nome dos mdicos que
atendem neles
2) buscar o nome e o salrio dos funcionrios de
Florianpolis e Palhoa que esto internados como
pacientes e tm consulta marcada em 20/09/2013
3) buscar o nmero dos ambulatrios que esto no
mesmo andar do ambulatrio 101 e possuem
capacidade superior capacidade dele
Exemplos
R1
x
1
2
3
5
y z
1 1
1 2
3 3
5 5
R2
x
1
2
4
R1
R2
x y z a
1 1 1 1
2 1 2 1
4
4
a
1
1
4
b
1
2
4
b
1
2
4
R1
x
1
2
3
5
R1
x
1
2
3
5
4
y
1
1
3
5
y
1
1
3
5
R2
z a b
1 1 1
2 1 2
3
5
R2
z a
1 1
2 1
3
5
4
b
1
2
4
Para resolver
1) buscar os dados de todos os mdicos e, para
aqueles que tm consultas marcadas, mostrar os
dados de suas consultas
2) buscar os nmeros de todos os ambulatrios e,
para aqueles ambulatrios nos quais mdicos do
atendimento, exibir o cdigo e o nome dos
mdicos associados