Академический Документы
Профессиональный Документы
Культура Документы
lgebra Relacional
Paulo Rocha Neto paulorocha@ceuma.br
lgebra Relacional
Conceitos Envolvidos
Relao: representada por uma tabela de duas dimenses (linhas e colunas); Tupla: corresponde a uma linha da relao;
Chave estrangeira: atributo de uma relao que chave primria de outra relao.
lgebra Relacional
A lgebra Relacional um conjunto de operaes sobre modelos relacionais de dados. Podem ser agrupadas em duas categorias:
Operadores Tradicionais:
Unio
Interseco Diferena Produto Cartesiano
Operadores Relacionais:
Seleo Projeo Juno Diviso
lgebra Relacional
Representao Grfica
Operadores Tradicionais
Unio
Interseco
Diferena
lgebra Relacional
Representao Grfica
Operadores Tradicionais
Produto Cartesiano
A B C
X Y
A A B B C C
X Y X Y X Y
lgebra Relacional
Representao Grfica
Operadores Relacionais
Seleo
Projeo
lgebra Relacional
Representao Grfica
Operadores Relacionais
Juno
Diviso
a1 b1 a2 b1 a3 b2
b1 c1 b2 c2 b3 c3
a1 b1 c1 a2 b1 c1 a3 b2 c2
a a a b c
x y z x y
x z
Seleo
Projeo
F(R)
i1, i2, ..., im(R)
Juno
Diviso
RS
R/S
Pedido
#F F1 F1 F1 F1 F1 F2 F2 F3 F4 F4 F4 #P Quantidade P1 300 P2 200 P3 400 P4 200 P5 100 P1 300 P2 400 P2 200 P2 200 P4 300 P5 400
Produto
#P P1 P2 P3 P4 P5 Descrio Parafuso Arroela Porca Chave Fechadura Valor 20 10 30 20 30
#F F1 F2 F4
#F F1 F1 F4 F4
#P P3 P5 P3 P5
F (R)
a operao usada para construir um subconjunto horizontal de uma relao, cujas tuplas satisfaam uma determinada condio. Exemplo:
C = SELEO(fornecedor, (cidade = Joinville))
Cidade=Joinville (Fornecedor)
#F Nome Condio Cidade F1 Pedro 20 Joinville F4 Carlos 20 Joinville
a operao usada para construir um subconjunto vertical de uma relao, cujas tuplas satisfaam uma determinada condio. Exemplo:
C = PROJEO(fornecedor, (#F, denominao, cidade))
#F,denominao, cidade
(Fornecedor)
Cidade Joinville Florianpolis Florianpolis Joinville
#F F1 F2 F3 F4
De duas relaes R1 e R2, que possuem um atributo em comum D, o subconjunto do produto cartesiano das duas relaes, cujos valores dos elementos dos atributo comum sejam iguais nas duas relaes. Na relao resultante elimina-se a repetio da coluna D. Exemplo:
C = JUNO(fornecedor, pedido(#F))
Fornecedor Pedido
#F F1 F1 F1 F1 F1 F2 F2 F3 F4 F4 F4 Denominao Condio Cidade Pedro 20 Joinville Pedro 21 Joinville Pedro 22 Joinville Pedro 23 Joinville Pedro 24 Joinville Joo 10 Florianpolis Joo 10 Florianpolis Marcos 30 Florianpolis Carlos 20 Joinville Carlos 20 Joinville Carlos 20 Joinville #P Quantidade P1 300 P2 200 P3 400 P4 200 P5 100 P1 300 P2 400 P2 200 P2 200 P4 300 P5 400
lgebra Relacional
Diviso ( R / S)
Seja A uma relao binria com atributos x e y e B uma relao unria com atributo z, com y e z definidos sobre o mesmo domnio. Definimos a operao diviso, como sendo o conjunto dos elementos x com os pares (x,y) pertencentes a A para todos os valores y pertencentes a B. A B C Exemplo:
C = DIVISO(A, B ((#P))
F1 F1 F1 F1 F1 F1 F2 F2 F3 F4 P1 P2 P3 P4 P5 P6 P1 P2 P2 P2 P1 F1 F2 F1
P1 P4 P1 P2 P3 P4 P5
F1
#prof 10 20 30 40
lgebra Relacional
Linguagem de Interrogao
Quais os nomes e datas de nascimento dos alunos do curso SI nascidos antes de 1983?
lgebra Relacional
Exerccio 3
Dados as relaes abaixo, especificar as operaes da lgebra relacional para obter o seguinte:
1. Quais alunos (NOME) tiveram nota superior a 7 nas disciplinas MATEMTICA E FSICA?
2. Quais alunos (NOME) cursaram todas as disciplinas com carga horria maior que 60 horas, com nota superior a 6? 3. Quais disciplinas (DENOMINAO) todos os alunos que j a cursaram obtiveram notas superior a 5? 4. Quais alunos (NOME) naturais de JOINVILLE obtiveram nota superior a 8 em disciplinas com carga horria superior a 45 horas? ALUNO (#CD-ALUNO, NM-ALUNO, EN-ALUNO, #NATUR)