Buscar

Aula_013 - Modelo Relacional - Álgebra Relacional

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Conteúdo:
Modelo Relacional: Álgebra 
Relacional
Aula 013
2
Relembrando
Relação : tabela
Domínio
conjunto de valores possíveis
Tupla : linha
número de tuplas: cardinalidade
Atributo : coluna
número de atributos: grau
Chave: atributos que identificam a linha
3
Para que servem bancos de dados?
Um banco de dados tem como objetivo guardar dados para que 
sejam posteriormente consultados
Existem várias linguagens de consulta
A álgebra relacional é uma linguagem de consulta formal (teórica)
4
Álgebra Relacional
Fornece um conjunto de operadores que permitam, a partir de 
tabelas, obter uma tabela com os dados desejados pelo usuário
Operações da Teoria dos Conjuntos
União, Interseção, Diferença, Produto
Operações Relacionais
Seleção, Projeção, Divisão, Junção
Programação
Atribuição ou Renomear
5
Álgebra Relacional
Restrição ou Seleção Projeção
Divisão
a x
a y
a z
b x
c y
x
z a
Junção (Natural)
a1 b1
a2 b2
a3 b3
b1 c1
b2 c2
b3 c3
a1 b1 c1
a2 b2 c2
a3 b3 c3
Produto
a
b
c
x
y
a x
a y
b x
b y
c x
c y
União Interseção Diferença
6
Chaves
Primárias:
 NUMF
 NUMP
 NUMPR
Partes-Fornecedores
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
PROJETOS
NUMPR NOMEJR CIDADE
1
2
3
4
5
Ordenador
Vídeo
Teclado
Console
Disco
Rio de Janeiro
Porto Alegre
Belo Horizonte
Belo Horizonte
São Paulo
6 Telefone Niterói
7 Fita São Paulo
PEDIDOS
NUMPRNUMF QUANTIDADE
1
1
2
2
2
200
300
400
500
600
2 100
2 600
NUMP
1
1
3
3
3
3
3
1
4
1
2
3
4
5
2 5003 6
2 3003 7
2 4005 2
3 5003 1
3 4004 2
4 6006 3
4 3006 7
5 1002 2
5 7005 7
5 5006 2
5 2001 7
5 3003 2
5 4004 4
5 1005 4
5 5006 4
PARTES
NUMP NOMEP COR CIDADE
1
2
3
4
5
Caixa
Parafuso
Parafuso
Parafuso
Arruela
Vermelha
Verde
Azul
Vermelha
Azul
São Paulo
Rio de Janeiro
Porto Alegre
São Paulo
Rio de Janeiro
6 Alavanca Vermelha São Paulo
PESO
12
17
17
14
12
19
7
União
Retorna uma relação consistindo das tuplas aparecendo em 
quaisquer das relações especificadas
8
União: Notação
Notação: A UNION B
Notação: A B
9
União: Exemplo
FORNECEDORESA UNION FORNECEDORESB
FORNECEDORESA
NUMF NOMEF STATUS CIDADE
1
2
5
Selma
João
Aline
20
10
30
São Paulo
Rio de Janeiro
Belo Horizonte
FORNECEDORESB
NUMF NOMEF STATUS CIDADE
3
4
5
Branco
Carlos
Aline
30
20
30
Rio de Janeiro
São Paulo
Belo Horizonte
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
10
Interseção
Retorna uma relação consistindo de todas as tuplas que 
aparecem em duas relações especificadas
11
Interseção : Notação
Notação: A INTERSECTION B
Notação: A B
12
Interseção: Exemplo
FORNECEDORESA INTERSECT FORNECEDORESB
FORNECEDORESA
NUMF NOMEF STATUS CIDADE
1
2
5
Selma
João
Aline
20
10
30
São Paulo
Rio de Janeiro
Belo Horizonte
FORNECEDORESB
NUMF NOMEF STATUS CIDADE
3
4
5
Branco
Carlos
Aline
30
20
30
Rio de Janeiro
São Paulo
Belo Horizonte
FORNECEDORES
NUMF NOMEF STATUS CIDADE
5 Aline 30 Belo Horizonte
13
Diferença
Retorna uma relação consistindo das tuplas que aparecem na 
primeira relação especificada e não aparecem na segunda relação
14
Diferença : Notação
Notação: A MINUS B
Notação: A - B
15
Diferença : Exemplo
FORNECEDORESA MINUS FORNECEDORESB
FORNECEDORESA
NUMF NOMEF STATUS CIDADE
1
2
5
Selma
João
Aline
20
10
30
São Paulo
Rio de Janeiro
Belo Horizonte
FORNECEDORESB
NUMF NOMEF STATUS CIDADE
3
4
5
Branco
Carlos
Aline
30
20
30
Rio de Janeiro
São Paulo
Belo Horizonte
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
Selma
João
20
10
São Paulo
Rio de Janeiro
16
Produto
Retorna uma relação consistindo em todas as possíveis tuplas 
que podem ser formadas combinando duas tuplas, uma de cada
uma das relações especificadas
a
b
c
x
y
a x
a y
b x
b y
c x
c y
17
Produto : Notação
Notação: A TIMES B
Notação: A X B
18
Produto : Exemplo
PESSOAS TIMES CIDADES
PESSOAS
NOMEP
Selma
João
Branco
Carlos
Aline
CIDADE
NOMEC
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
PESSOAS X CIDADES
NOMEP
Aline
Aline
Aline
Aline
Branco
Branco
Branco
NOMEC
Branco
Carlos
Carlos
Carlos
Carlos
João
João
João
João
Selma
Selma
Selma
Selma
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
19
Seleção (ou Restrição)
Retorna uma relação consistindo de um conjunto de tuplas de uma
relação que satisfaz uma condição
20
Seleção : Notação
Notação: A WHERE X op Y
x e y são atributos do mesmo domínio (ou valores)
 é um operador
Notação: 
21
Seleção : Exemplo 1
FORNECEDORES WHERE CIDADE="Rio de Janeiro"
FORNECEDORES
NUMF NOMEF STATUS CIDADE
2
3
João
Branco
10
30
Rio de Janeiro
Rio de Janeiro
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
22
Seleção : Exemplo 2
PEDIDOS WHERE NUMF=NUMP
PEDIDOS
NUMPRNUMF QUANTIDADE
1
1
2
2
2
200
300
400
500
600
2 100
2 600
NUMP
1
1
3
3
3
3
3
1
4
1
2
3
4
5
2 5003 6
2 3003 7
2 4005 2
3 5003 1
3 4004 2
4 6006 3
4 3006 7
5 1002 2
5 7005 7
5 5006 2
5 2001 7
5 3003 2
5 4004 4
5 1005 4
5 5006 4
PEDIDOS
NUMPRNUMF QUANTIDADE
1
1
200
300
NUMP
1
1
1
4
3 5003 1
5 7005 7
5 1005 4
23
Seleção : Exemplo 3
PEDIDOS WHERE QUANTIDADE>500
PEDIDOS
NUMPRNUMF QUANTIDADE
1
1
2
2
2
200
300
400
500
600
2 100
2 600
NUMP
1
1
3
3
3
3
3
1
4
1
2
3
4
5
2 5003 6
2 3003 7
2 4005 2
3 5003 1
3 4004 2
4 6006 3
4 3006 7
5 1002 2
5 7005 7
5 5006 2
5 2001 7
5 3003 2
5 4004 4
5 1005 4
5 5006 4
PEDIDOS
NUMPRNUMF QUANTIDADE
2 600
2 600
NUMP
3
3
3
5
4 6006 3
5 7005 7
24
Projeção
Retorna uma relação consistindo de um conjunto de tuplas que
 remanescem em uma relação depois que alguns atributos são
 eliminados
25
Projeção : Notação
Notação: A [X,Y,...,Z]
x,y,...,z são atributos da relação
Notação:
26
Projeção : Exemplo 
FORNECEDORES [NOMEF,CIDADE]
FORNECEDORES
NOMEF CIDADE
Selma
João
Branco
Carlos
Aline
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
27
Junção (Natural)
Retorna uma relação consistindo de todas as possíveis tuplas que 
são uma combinação de duas duplas, tal que as duas duplas que 
contribuem para a combinação possuem um valor comum nos 
atributos comum das duas relações
a1 b1
a2 b2
a3 b3
b1 c1
b2 c2
b3 c3
a1 b1 c1
a2 b2 c2
a3 b3 c3
28
Junção (Natural) : Notação
A JOIN B
29
Junção (Natural) : Exemplo 1 
FORNECEDORES 
JOIN PEDIDOS
FORNECEDORESJOIN PEDIDOS
NUMF NUMPR QUANTIDADE
1
1
2
2
2
200
300
400
500
600
2 100
2 600
NUMP
1
1
3
3
3
3
3
1
4
1
2
3
4
5
2 5003 6
2 3003 7
2 4005 2
3 5003 1
3 4004 2
4 6006 3
4 3006 7
5 1002 2
5 7005 7
5 5006 2
5 2001 7
5 3003 2
5 4004 4
5 1005 4
5 5006 4
NOMEF STATUS CIDADE
Selma 20 São Paulo
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
Branco 30 Rio de Janeiro
Branco 30 Rio de Janeiro
Carlos 20 São Paulo
Carlos 20 São Paulo
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
NUMF
PEDIDOS
NUMPR QUANTIDADE
1
1
2
2
2
200
300
400
500
600
2 100
2 600
NUMP
1
1
3
3
3
3
3
1
4
1
2
3
4
5
2 5003 6
2 3003 7
2 4005 2
3 5003 1
3 4004 2
4 6006 3
4 3006 7
5 1002 2
5 7005 7
5 5006 2
5 2001 7
5 3003 2
5 4004 4
5 1005 4
5 5006 4
30
Junção (Natural) : Exemplo 2 
FORNECEDORES JOIN PARTES
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
PARTES
NUMP NOMEP COR CIDADE
1
2
3
4
5
Caixa
Parafuso
Parafuso
Parafuso
Arruela
Vermelha
Verde
Azul
Vermelha
Azul
São Paulo
Rio de Janeiro
Porto Alegre
São Paulo
Rio de Janeiro
6 Alavanca Vermelha São Paulo
PESO
12
17
17
14
12
19
FORNECEDORES JOIN PARTES
NUMF NOMEF STATUS CIDADE
1
2
3
4
Selma
João
Branco
Carlos
20
10
30
20
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
NUMP NOMEP COR PESO
1 Selma 20 São Paulo
1 Selma 20 São Paulo
2 João 10 Rio de Janeiro
3 Branco 30 Rio de Janeiro
4 Carlos 20 São Paulo
4 Carlos 20 São Paulo
1 Caixa Vermelha 12
4 Parafuso Vermelha 14
6 Alavanca Vermelha 19
2 Parafuso Verde 17
2 Parafuso Verde 17
5 Arruela Azul 12
5 Arruela Azul 12
1 Caixa Vermelha 12
4 Parafuso Vermelha 14
6 Alavanca Vermelha 19
31
Divisão
32
Divisão
b e c não possuem todos os valores 
da segunda relação
z não faz diferença em a
a x x
a y z
a z
b x
c y
x
z
a
33
Divisão : Notação
A DIVIDEDBY B
A B
34
Divisão : Exemplo 
PARTES2
NUMP NOMEP COR CIDADE
1
2
3
4
Caixa
Parafuso
Parafuso
Parafuso
Vermelha
Azul
Vermelha
Vermelha
São Paulo
Porto Alegre
São Paulo
Rio de Janeiro
6 Alavanca Vermelha São Paulo
PESO
12
17
14
14
19
1 Caixa Vermelha Rio de Janeiro12
CIDADE
NOMEC
Rio de Janeiro
São Paulo
NUMP
PARTES2
NOMEP COR
1
4
Caixa
Parafuso
Vermelha
Vermelha
PESO
12
14
35
Renomear
Troca o nome de atributos
Simplifica a notação
36
Renomear: Notação
R RENAME A AS ALFA, B AS BETA
37
Renomear: Exemplo
PROJETOS RENAME NUMPR AS NUM, NOMEJR AS NOME
PROJETOS
NUMPR NOMEJR CIDADE
1
2
3
4
5
Ordenador
Vídeo
Teclado
Console
Disco
Rio de Janeiro
Porto Alegre
Belo Horizonte
Belo Horizonte
São Paulo
6 Telefone Niterói
7 Fita São Paulo
PROJETOS
NUM NOME CIDADE
1
2
3
4
5
Ordenador
Vídeo
Teclado
Console
Disco
Rio de Janeiro
Porto Alegre
Belo Horizonte
Belo Horizonte
São Paulo
6 Telefone Niterói
7 Fita São Paulo

Outros materiais