Exercício 1
Uma empresa faz a Gestão das suas Encomendas usando o Access. Os diversos departamentos da empresa necessitam da seguinte informação:
- Informação sobre os clientes (nome, morada, telefone)
- Informação sobre os produtos vendidos pela empresa (descrição, preço unitário)
- Informação sobre as encomendas feitas pelos clientes (quantidade encomendada; prazo de entrega)
- Planeie a base de dados de modo eficiente, tendo em conta a informação requerida pelos diversos departamentos da empresa. Note que poderá ter necessidade de acrescentar outros items de informação (desde que devidamente justificados por um desenho racional das tabelas).
- Estabeleça as relações que ache adequadas entre as tabelas que criou anteriormente.
- Como procederia para obter uma tabela com as encomendas que encomendaram mais do que 500 artigos de qualquer produto.
- Obtenha uma tabela com as encomendas e respectivos prazos, de mais do que 1000 unidades do produto com código "4".
- Pretende enviar uma carta aos clientes que encomendaram o produto "1". Como procederia para obter a informação necessária?
- Apresente uma tabela com os valores (após IVA) das encomendas do produto "3".
- Apresente uma lista das encomendas a satisfazer no próximo mês.
- Houve um problema com o fabrico do produto "2" que invalida as entregas para os próximos sete dias. Como obter uma lista dos telefones dos clientes que vão ser afectados de modo a poder avisá-los.
- Faça um Query que lhe permita obter a lista das encomendas (e respectivos valores monetários), das encomendas de qualquer cliente.
- Obtenha a quantidade média encomendada de cada produto.
- Apresente uma tabela com os valores totais de todas as encomendas de cada cliente no último mês.
- Faça um Query correspondente ao seguinte código SQL :
SELECT Nome, Telefone
FROM Clientes INNER JOIN Encomendas ON Clientes.Nome = Encomendas.NomeCliente
WHERE CodProd=4 And (Quantidade > 5000 Or Quantidade < 100)
- Faça um Query correspondente ao seguinte código SQL :
SELECT Nome, Telefone, Encomendas.Quantidade*Produtos.Preço*1,17 AS Valor
FROM Produtos INNER JOIN (Clientes INNER JOIN Encomendas ON Cleintes.Nome = Encomendas.NomeCliente) ON Produtos.CodProd = Encomendas.CodProd
- Um seu cliente informou-o que mudou de endereço, tendo por isso uma nova morada e um novo telefone. Como faria para actualizar a sua base de dados.
- Entramos num novo ano e a sua empresa decidiu aumentar os preços de todos os produtos em 5%. Como procederia ?
- Resolva de novo a pergunta 14, mas agora de modo a que o seu Query funcione num caso genérico, i.e. sempre que aconteça que um cliente mude de morada e telefone não seja preciso alterar o Query.
- A sua empresa deixou de ter negócios com um determinado cliente. Como procederia para o eliminar da sua base de dados.