ular relaç˜oes

Transcrição

ular relaç˜oes
Álgebra relacional
Conjunto de operadores que permitem manipular relações:
1. operações sobre conjuntos:
,
, −
S T
2. remover linhas (selecção)
remover colunas (projecção)
3. operações que combinam informação contida em várias relações: produtos cartesianos e joins.
4. mudar o nome a relações e atributos
As expressões em álgebra relacional são uma
espécie de programa.
1
Selecção σ
(elimina linhas)
σC R , onde C é uma condição.
Filmes:
nome
Star Wars
Pocahontas
King King
Lion King
ano
1977
1998
1933
1997
estudio
Fox
Disney
MGM
Disney
σestudio=Disney (Filmes)
nome
Pocahontas
Lion King
ano
1998
1997
estudio
Disney
Disney
2
Projecção π
(elimina colunas)
πL R , onde L é uma lista de atributos de R.
πnome,estudio (Filmes)
nome
Star Wars
Pocahontas
King Kong
Lion King
estudio
Fox
Disney
MGM
Disney
πestudio (Filmes)
estudio
Fox
Disney
MGM
3
Selecção e projecção juntos
πnome,estudio
σano < 1990 (Filmes)
nome
Star Wars
King Kong
estudio
Fox
MGM
4
Juntar relações
Produto Cartesiano:
R = R 1 x R2
junta cada tuplo t1 de R1 com cada tuplo t2
de R2 e coloca em R o tuplo t1 t2 .
Theta-Join:
R = R1 ./C R2
é equivalente a: R = σC R1 x R2
Natural-Join:
R = R1 ./ R2
é equivalente a um theta-join em que a condição
C diz que os atributos com o mesmo nome são
igualados. Depois, uma das colunas é projectada.
5
Produto Cartesiano
(sı́mbolo x)
Filmes:
nome
Star Wars
Pocahontas
King Kong
Lion King
ano
1977
1998
1933
1997
estudio
Fox
Disney
MGM
Disney
Estudios:
nome
Fox
Disney
MGM
morada
Elm St.
Pine St.
Oak Dr.
6
Filmes x Estudios:
Filmes.nome
Star Wars
Star Wars
Star Wars
Pocahontas
Pocahontas
Pocahontas
King Kong
King Kong
King Kong
Lion King
Lion King
Lion King
ano
1977
1977
1977
1998
1998
1998
1933
1933
1933
1997
1997
1997
estudio
Fox
Fox
Fox
Disney
Disney
Disney
MGM
MGM
MGM
Disney
Disney
Disney
Estudios.nome
Fox
Disney
MGM
Fox
Disney
MGM
Fox
Disney
MGM
Fox
Disney
MGM
morada
Elm St.
Pine St.
Oak Dr.
Elm St.
Pine St.
Oak Dr.
Elm St.
Pine St.
Oak Dr.
Elm St.
Pine St.
Oak Dr.
7
Theta-Join
(sı́mbolo ./C )
Filmes:
nome
Star Wars
Pocahontas
King Kong
Lion King
ano
1977
1998
1933
1997
estudio
Fox
Disney
MGM
Disney
Estudios:
nome
Fox
Disney
MGM
morada
Elm St.
Pine St.
Oak Dr.
Filmes ./F ilmes.estudio=Estudios.nome Estudios
Filmes.nome
Star Wars
Pocahontas
King Kong
Lion King
ano
1977
1998
1933
1997
estudio
Fox
Disney
MGM
Disney
Estudios.nome
Fox
Disney
MGM
Disney
morada
Elm St.
Pine St.
Oak Dr.
Pine St.
8
Natural Join
(sı́mbolo ./)
Filmes:
nome
Star Wars
Pocahontas
King Kong
Lion King
ano
1977
1998
1933
1997
estudio
Fox
Disney
MGM
Disney
Estudios:
estudio
Fox
Disney
MGM
morada
Elm St.
Pine St.
Oak Dr.
Filmes ./ Estudios
nome
Star Wars
Pocahontas
King Kong
Lion King
ano
1977
1998
1933
1997
estudio
Fox
Disney
MGM
Disney
morada
Elm St.
Pine St.
Oak Dr.
Pine St.
9
Mudar o nome:
ρS(A1,A2,...,An) R
produz uma relação de nome S idêntica a R e
com os atributos chamados A1, A2, . . . , An
Estudios:
estudio
Fox
Disney
MGM
ρS(nome,rua) Estudios
morada
Elm St.
Pine St.
Oak Dr.
vai dar origem à relação S:
nome
Fox
Disney
MGM
rua
Elm St.
Pine St.
Oak Dr.
10
Notação linear para expressões
• atribuir nomes para relações intermédias.
Exemplo: todos os nomes de filmes cujo estudio fica em Pine St ou cujo ano é inferior a
1950.
Filmes( nome, ano, estudio)
Estudios( nome, morada )
R1 := Filmes
Estudios
./estudio=Estudio.nome
R2 := πnome σmorada = 0P ine St0 R1
R3 := πnome σano < 1950 Filmes
S
R4 := R2
R3
11
Expressões em forma de árvore
U
π nome
π nome
σmorada = ’Pine St’
σano < 1950
Filmes.estudio = Estudios.nome
Filmes
Estudios
Filmes
12
Restrições em relações
• R não tem tuplos.
R=∅
• todo o tuplo de R também é de de S.
R⊆S
R⊆S ≡ R−S =∅
Pergunta: Qual o significado de
πestudio(F ilmes) ⊆ πnome(Estudios)
13