construção de banco de dados aula5 – Álgebra relacional - exercícios profa. marta mattoso...

18
Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro [email protected]

Upload: rafael-imperial-festas

Post on 07-Apr-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Construção de Banco de Dados

Aula5 – Álgebra Relacional - Exercícios

Profa. Marta MattosoCOPPE/ SistemasUniversidade Federal do Rio [email protected]

Page 2: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Organização da Parte I Conceitos Gerais SGBDs e Arquivos Arquiteturas Modelo Relacional• Álgebra Relacional• SQL

Page 3: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Álgebra Relacional

abc

xy

a xa yb xb yc xc y

Seleção ProjeçãoProduto

União Interseção Diferença Junção a1 b1a2 b1a3 b2

b1 c1b2 c2b3 c3

a1 b1 c1a2 b1 c1a3 b2 c2

Page 4: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Peças-Fornecedores

ChavesPrimárias:

NUMFNUMP

NUMPR

NUMPR NOMEJR CIDADE1 Ordenador Rio de Janeiro2 Vídeo Porto Alegre3 Teclado Belo Horizonte4 Console Belo Horizonte5 Disco São Paulo6 Telefone Niterói7 Fita São Paulo

PROJETOS

NUMF NOMEF STATUS CIDADE1 Selma 20 São Paulo2 João 10 Rio de Janeiro3 Branco 30 Rio de Janeiro4 Carlos 20 São Paulo5 Aline 30 Belo Horizonte

FORNECEDORES

NUMF NUMP NUMPR QUANTIDADE1 1 1 2001 1 4 3002 3 1 4002 3 2 5002 3 3 6002 3 4 1002 3 5 6002 3 6 5002 3 7 3002 5 2 4003 3 1 5003 4 2 4004 6 3 6004 6 7 3005 2 2 1005 5 7 7005 6 2 5005 1 4 2005 3 4 3005 4 4 4005 5 4 1005 6 4 500

PEDIDOS

NUMP NOMEP COR PESO CIDADE1 Caixa Vermelha 12 São Paulo2 Parafuso Verde 17 Rio de Janeiro3 Parafuso Azul 17 Porto Alegre4 Parafuso Vermelha 14 São Paulo5 Arruela Azul 12 Rio de Janeiro6 Alavanca Vermelha 19 São Paulo

PEÇAS

Page 5: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Exercícios1. Nomes de fornecedores da peça P22. Nomes de fornecedores que fornecem ao menos uma peça

vermelha3. Todos os pares de fornecedores na mesma cidade4. Nomes de fornecedores que não fornecem a peça número 2

Page 6: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Soluções do Ex 1

• Nomes de fornecedores da peça P2NOMEF ( NUMP=2 ( PEDIDOS * FORNECEDORES))OU

NOMEF (FORNECEDORES * ( NUMP=2(PEDIDOS)) )

ouFOR_PEDIDO PEDIDOS * FORNECEDORESFOR_P2 NUMP=2 (FOR_PEDIDO)

RESULTADO NOMEF (FOR_P2)

Page 7: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução do Ex 1 (Passo 1)

FOR_PEDIDO PEDIDOS * FORNECEDORES

NUMF NUMP NUMPR QUANTIDADE NOMEF STATUS CIDADE1 1 1 200 Selma 20 São Paulo1 1 4 300 João 10 Rio de Janeiro2 3 1 400 João 10 Rio de Janeiro2 3 2 500 João 10 Rio de Janeiro2 3 3 600 João 10 Rio de Janeiro2 3 4 100 João 10 Rio de Janeiro2 3 5 600 João 10 Rio de Janeiro2 3 6 500 João 10 Rio de Janeiro2 3 7 300 João 10 Rio de Janeiro2 5 2 400 João 10 Rio de Janeiro3 3 1 500 Branco 30 Rio de Janeiro3 4 2 400 Branco 30 Rio de Janeiro4 6 3 600 Carlos 20 São Paulo4 6 7 300 Carlos 20 São Paulo5 2 2 100 Aline 30 Belo Horizonte5 5 7 700 Aline 30 Belo Horizonte5 6 2 500 Aline 30 Belo Horizonte5 1 4 200 Aline 30 Belo Horizonte5 3 4 300 Aline 30 Belo Horizonte5 4 4 400 Aline 30 Belo Horizonte5 5 4 100 Aline 30 Belo Horizonte5 6 4 500 Aline 30 Belo Horizonte

FOR_PEDIDO

Page 8: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução do Ex 1 (Passo 2)

FOR_P2 NUMP=2 (FOR_PEDIDO)

NUMF NUMP NUMPR QUANTIDADE NOMEF STATUS CIDADE5 2 2 100 Aline 30 Belo Horizonte

FOR_P2

Page 9: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução do Ex 1 (Passo 2,3)

NUMF NUMP NUMPR QUANTIDADE NOMEF STATUS CIDADE5 2 2 100 Aline 30 Belo Horizonte

FOR_P2

RESULTADO NOMEF (FOR_P2)

RESULTADONOMEF

Aline

Page 10: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução do Ex 2

• Nomes de fornecedores que fornecem ao menos uma peça vermelhaPV COR= “Vermelha” (PECAS)PV_PED PV * PEDIDOS

NO_PV NUMF (PV_PED)FORN_PV FORNECEDORES * NUMF_PV

RESULTADO NOMEF (FORN_PV)

Page 11: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução do Ex 2 (Passo 1)

PV COR = “Vermelha” (PECAS)

NUMP NOMEP COR PESO CIDADE1 Caixa Vermelha 12 São Paulo4 Parafuso Vermelha 14 São Paulo6 Alavanca Vermelha 19 São Paulo

PV

Page 12: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução do Ex 2 (Passo 2,3)

PV_PED PV * PEDIDOS

NO_PV NUMF (PV_PED)

NUMF NUMP NUMPR QUANTIDADE NOMEP COR PESO CIDADE1 1 1 200 Caixa Vermelha 12 São Paulo1 1 4 300 Caixa Vermelha 12 São Paulo5 1 4 200 Caixa Vermelha 12 São Paulo5 4 4 400 Parafuso Vermelha 14 São Paulo4 6 3 600 Alavanca Vermelha 19 São Paulo4 6 7 300 Alavanca Vermelha 19 São Paulo5 6 2 500 Alavanca Vermelha 19 São Paulo5 6 4 500 Alavanca Vermelha 19 São Paulo

PV_PED

NUMF145

Page 13: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução do Ex 2 (Passo 4,5)

FORN_PV FORNECEDORES * NO_PV

RESULTADO NOMEF (FORN_PV)

NUMF NOMEF STATUS CIDADE1 Selma 20 São Paulo4 Carlos 20 São Paulo5 Aline 30 Belo Horizonte

NOMEFSelmaCarlosAline

Page 14: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução Alternativa do Ex 2

• Nomes de fornecedores que fornecem ao menos uma peça vermelhaPV COR= “Vermelha” (PECAS)

NO_PV NUMP (PV)PV_PED PV * PEDIDOSFORN_PV FORNECEDORES * PV_PED

RESULTADO NOMEF (FORN_PV)

Page 15: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução dos Ex 3

• Todos os pares de fornecedores na mesma cidade

1. (PRIMEIRO NUMF ) (FORNECEDORES)2. PRIM PRIMEIRO, CIDADE (FORNECEDORES)

3. MESMACID FORNECEDORES * PRIM

4. PARESF PRIMEIRO < NUMF (MESMACID )5. RESULTADO PRIMEIRO, NUMF (PARESF)

Page 16: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução do Ex 3 (Passos)

PRIMEIRO NOMEF STATUS CIDADE1 Selma 20 São Paulo2 João 10 Rio de Janeiro3 Branco 30 Rio de Janeiro4 Carlos 20 São Paulo5 Aline 30 Belo Horizonte

PRIMEIRO CIDADE1 São Paulo2 Rio de Janeiro3 Rio de Janeiro4 São Paulo5 Belo Horizonte

NUMF NOMEF STATUS CIDADE PRIMEIRO3 Branco 30 Rio de Janeiro 24 Carlos 20 São Paulo 1

NUMF NOMEF STATUS CIDADE PRIMEIRO5 Aline 30 Belo Horizonte 52 João 10 Rio de Janeiro 23 Branco 30 Rio de Janeiro 32 João 10 Rio de Janeiro 33 Branco 30 Rio de Janeiro 21 Selma 20 São Paulo 44 Carlos 20 São Paulo 11 Selma 20 São Paulo 14 Carlos 20 São Paulo 4

1

2

3

4

Resultado

NUMF PRIMEIRO3 24 1

Page 17: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução do Ex 4• Nomes de fornecedores que não fornecem a peça número 21. NUMFOR NUMF (FORNECEDORES)

2. PEDP2 NUMP = 2 (PEDIDOS )

3. NUMFORP2 NUMF (PEDP2)

4. NUMNAOP2 NUMFOR – NUMFORP2

5. FORNAOP2 NUMNAOP2 * FORNECEDORES

6. RESULTADO NOMEF (FORNAOP2 )

Page 18: Construção de Banco de Dados Aula5 – Álgebra Relacional - Exercícios Profa. Marta Mattoso COPPE/ Sistemas Universidade Federal do Rio deJaneiro marta@cos.ufrj.br

Solução do Ex 4 (Passos)

1 23

4

Resultado

NUMF12345

NUMF5

NUMF NUMP NUMPR QUANTIDADE5 2 2 100

PEDIDOS WHERE NUMP=2

NUMF1234

5

NUMF NOMEF STATUS CIDADE1 Selma 20 São Paulo2 João 10 Rio de Janeiro3 Branco 30 Rio de Janeiro4 Carlos 20 São Paulo

NOMEFSelmaJoão

BrancoCarlos