ARA7129 Banco de Dados I
Segundo Semestre - 2014
Terceira Lista de Exercı́cios
1. (GMUW) Considere as seguintes relaçoes:
- Produto (fabricante, modelo, tipo)
- PC (modelo, velocidade, ram, hd, preço)
- Laptop (modelo, velocidade, ram, hd, tela, preço)
- Impressora (modelo, cor, tipo, preço)
A relação Produto fornece o fabricante, o numero do modelo e o tipo
(PC, laptop, ou impressora) de vários produtos. Assumimos por conveniência que os números dos modelos são únicos sobre todos os fabricantes e tipos
de produto; esta hipótese não é realı́stica, e um banco de dados real deveria
incluir um código para o fabricante como parte do número do modelo. A
relação PC fornece para cada número de modelo que é um PC a velocidade
(do processador, em gigabytes), a quantidade de RAM (em megabytes), o
tamanho do disco rı́gido (hd, em gigabytes), e o preço. A relação Laptop
é similar, exceto que o tamanho da tela (em polegadas) está também incluı́da. A relação Impressora registra para cada modelo de impressora se
a impressora produz saı́da colorida (true, se sim ou false, caso contrário), o
tipo (laser ou jato de tinta, tipicamente), e o preço.
Crie uma tabela usando os comandos de SQL-99 (SQL padrão de 1999)
para cada relação citada. Cada tabela deve ter uma chave.
Use o SGDB PostgreSQL para popular cada tabela com os seguintes
dados das Tabelas 1, 2, 3 e 4.
a. Escreva expressões da algebra relacional para responder as seguintes
consultas.
• Quais modelos de PC’s têm velocidade pelo menos 3.00?
• Quais fabricantes produziram laptops com um disco rı́gido de pelo
menos 100 gigabytes?
• Encontre o número do modelo e o preço de todos os produtos (de
qualquer tipo) produzido pelo fabricante B?
• Encontre os números dos modelos de todas as impressoras laser
coloridas.
• Encontre aqueles fabricantes que vendem laptops mas não PC’s.
• Encontre aqueles tamanhos de disco rı́gido que ocorrem em dois
ou mais PC’s.
• Encontre aqueles pares de modelos de PC’s que têm a mesma
velocidade e memória RAM. Um par deve ser listado somente
uma vez; por exemplo, liste (i,j) mas não (j,i).
• Encontre aqueles fabricantes de pelo menos dois diferentes computadores (PC’s ou laptops) com velocidades de pelo menos 2.80.
• Encontre o(s) fabricante(s) do computador (PC ou laptop) com
a mais alta velocidade disponı́vel.
• Encotre os fabricates de PC’s com pelo menos três diferentes velocidades.
• Encontre os fabricantes que vendem exatamente três modelos diferentes de PC.
b. Escreva em SQL-99 as consultas correspondentes para cada expressão.
Use o tipo FLOAT (ou REAL) para precisão simples ou DOUBLE
PRECISION para precisão dupla onde achar conveniente. Use o PostgreSQL para verificar suas consultas.
fabricante
A
A
A
A
A
A
B
B
B
B
C
D
D
D
D
D
E
E
E
E
E
E
E
E
E
F
F
G
H
H
modelo
1001
1002
1003
2004
2005
2006
1004
1005
1006
2007
1007
1008
1009
1010
3004
3005
1011
1012
1013
2001
2002
2003
3001
3002
3003
2008
2009
2010
3006
3007
tipo
pc
pc
pc
laptop
laptop
laptop
pc
pc
pc
laptop
pc
pc
pc
pc
impressora
impressora
pc
pc
pc
laptop
laptop
laptop
impressora
impressora
impressora
laptop
laptop
laptop
impressora
impressora
Tabela 1: Uma instância para a relação Produto
modelo
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
velocidade
2.66
2.10
1.42
2.80
3.20
3.20
2.20
2.20
2.00
2.80
1.86
2.80
3.06
ram
1024
512
512
1024
512
1024
1024
2048
1024
2048
2048
1024
512
hd
250
250
80
250
250
320
200
250
250
300
160
160
80
preço
2114
995
478
649
630
1049
510
770
650
770
959
649
529
Tabela 2: Uma instância para a relação PC
modelo
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
velocidade
2.00
1.73
1.80
2.00
2.16
2.00
1.83
1.60
1.60
2.00
ram
2048
1024
512
512
1024
2048
1024
1024
512
2048
hd
240
80
60
60
120
80
120
100
80
160
tela
20.1
17.0
15.4
13.3
17.0
15.4
13.3
15.4
14.1
15.4
preço
3673
949
549
1150
2500
1700
1429
900
680
2300
Tabela 3: Uma instância para a relação Laptop
modelo
3001
3002
3003
3004
3005
3006
3007
cor
true
false
true
true
false
true
true
tipo
jato de tinta
laser
laser
jato de tinta
laser
jato de tinta
laser
preço
99
239
899
120
120
100
200
Tabela 4: Uma instância para a relação Impressora
Download

1. (GMUW) Considere as seguintes relaçoes: