Banco de dados ii - lista 2
(BD Fornecedores-Peças)
1) Escrever as consultas abaixo em álgebra relacional e em SQL
[pic]
a) buscar os dados dos fornecedores de Porto Alegre
PROJEÇÃO codf, nomef, cidade SELEÇÃO cidade = porto alegre(Fornecedores)
b) buscar os dados das peças que pesam mais do que 5 gr. E não são pretas
PROJEÇÃO codp, nomep, peso, cor SELEÇÃO cor preta(Peças)
c) buscar o nome das peças que não são pretas
PROJEÇÃO nomep SELEÇÃO cor preta(Peças)
d) buscar o nome das peças fornecidas pela Ceval S.A.
PROJEÇÃO nomep SELEÇÃO nomef=‘Ceval S.A.’(Peças|X|Embarques|x|Fornecedores)
e) buscar o nome de todas as peças leves (pesam menos que 10 gr.)
PROJEÇÃO nomep SELEÇÃO peso < 10gr(Peças)
f) buscar as quantidades das peças fornecidas pelo fornecedor de nome Ceval S.A.
SELECT Count(p.codp) From Peças p, Fornecedores f, embarque e WHERE p.codp = e.codp AND e.codf = f.codf AND f.nomef = ‘Ceval S.A’ .
[pic]
g) buscar o nome dos fornecedores de Canoas que fornecem pregos
PROJEÇÃO nomef SELEÇÃO cidade = Canoas AND nomep = pregos (Peças |x| Embarque |x| Fornecedores )
SELECT f.nomef FROM fornecedores f, peças p, embarque e WHERE p.codp = e.codp AND e.codf = f.codf AND p.Nomep = ‘prego’ AND f.cidade = ‘canoas’.
h) buscar o nome dos fornecedores que fornecem todas as peças
i) buscar o nome das peças que são fornecidas por fornecedores de Porto Alegre em quantidade superior a 300 (usar interseção)
PROJECAO Nomep SELECAO cidade = ‘porto alegre’(fornecedores |x| embarque |x| Pecas) ∩ SELECAO qtde(embarques)
j) buscar o nome e a cidade dos fornecedores que realizam embarques em quantidades maiores que 500
PROJECAO nomef cidade SELECAO qtde > 500(fornecedores |x| embarques)
SELECT nomef cidade FROM fornecedores f, embarques e WHERE f.codf = e.codf AND e.qtde > 500.
k) buscar o nome dos fornecedores que não forneçam nenhuma