TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Banco De Dados

Ensaios: Banco De Dados. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  25/11/2014  •  3.626 Palavras (15 Páginas)  •  248 Visualizações

Página 1 de 15

Introdução

A empresa de desenvolvimento software chamada Microsys XYZ S.A está projetando um novo produto a ser lançado. Este novo software SIG – Sistema Integrado de Gerenciamento 1.0 irá atender muitas empresas que necessitam de um sistema que controle vendas, controle estoque, funcionários e outras atividades. As empresas possuem um grande número de informações, sendo assim todas as consultas do banco de dados foram desenvolvidas para obter o melhor desempenho possível. O banco de dados escolhido pela equipe de desenvolvimento foi PostgreSQL.

ETAPA 1

Nesta etapa foram desenvolvidas todas as consultas que serão utilizadas no sistema SIG sendo elas: Consultas de Cliente, Consultas Funcionários, Consultas vendas por Funcionários, Vendas por Produtos e Vendas por Cliente.

1.1 Consultas e Filtros

• Consulta Clientes: Exibir os campos: nome, cidade, UF, idade, gênero. Os registros devem estar ordenados por nome. Filtros da consulta: cidade.

SELECT

nome, cidade, uf, extract(year from age(CURRENT_DATE, datanascimento)) as idade, genero

FROM cliente

WHERE cidade = 'São Paulo'

ORDER BY nome

• Consulta Funcionários: Exibir os campos: nome, cargo, idade, data de admissão, valor da comissão. Os registros devem estar ordenados por cargo. Filtros da consulta: ativo.

SELECT

nome, cargo, extract(year from age(CURRENT_DATE, datanascimento)) as idade, dataadmissao, comissao||'%' as valor_comissao

FROM funcionario

WHERE ativo = true

ORDER BY cargo

• Consulta Vendas por Funcionário: Exibir os campos: nome do funcionário, valor da venda. Os registros devem estar ordenados por valor da venda, sendo os maiores valores exibidos primeiro. Filtros da consulta: dia da venda.

SELECT

f.nome,v.valortotal

FROM venda as v

LEFT JOIN funcionario as f ON v.funcionario_venda = f.idfuncionario

WHERE to_char(v.data, 'DD') = '17'

ORDER BY valorTotal DESC

• Consulta Vendas por Produtos: Exibir os campos: descrição do produto, preço de venda do produto, valor total de vendas para produto. Os registros devem estar ordenados pelo valor total das vendas, sendo os valores maiores nos primeiros registros. Filtros da consulta: mês em que foram realizadas as vendas.

SELECT

*

FROM(SELECT

p.descricao, p.precovenda, sum(p.precovenda) as valorTotalVenda

FROM produto as p

LEFT JOIN itemvenda as iv ON iv.produto_itemvenda = p.idproduto

LEFT JOIN venda as v ON v.idvenda = iv.venda_itemvenda

WHERE to_char(v.data,'MM') = '09'

GROUP BY p.descricao, p.precovenda) as t

ORDER BY valorTotalVenda DESC

• Consulta Vendas por Cliente: Exibir o nome do cliente, cidade, quantidade total de vendas, valor total de vendas. A consulta deve exibir todos os clientes, inclusive aqueles que não possuem registros de venda. Os registros devem estar ordenados por nome e cidade. Filtros da consulta: mês em que foram realizadas as vendas.

SELECT

c.nome, c.cidade, count(v.idvenda) as qtdTotalVendas, v.valortotal

FROM cliente as c

LEFT JOIN venda as v ON v.cliente_venda = c.idcliente

LEFT JOIN itemvenda as iv ON iv.venda_itemvenda = v.idvenda

WHERE to_char(v.data,'MM') = '09' OR v.valortotal IS NULL

GROUP BY c.nome, c.cidade, v.idvenda, v.valortotal

ORDER BY c.cidade

1.2 DML

Elaboração dos comandos DML das tabelas; cliente, funcionário, produto, Venda e Item Venda.

AÇÃO DML

Tabela Cliente

INSERIR TUPLA INSERT INTO cliente (nome, cpf, rg, endereco, cidade, uf, fone, celular, email, datanascimento, genero) VALUES ('Algusto Ferraz', '111.007.068-00','951270341', 'Rua Santa Cruz', 'Limeira', 'SP', '18366-8419','994065588','algusto.ferraz@hotmail.com','19-03-1980','M');

DELETAR TUPLA DELETE FROM cliente WHERE cpf ='111.007.068-00';

ALTERAR TUPLA UPDATE cliente SET nome = 'Vinicius Santos' WHERE cpf ='111.007.068-00';

Tabela Funcionário

INSERIR TUPLA INSERT INTO funcionario (nome, cpf ,rg, ctps, cargo, datanascimento, dataadmissao, dataemissao, ativo,comissao) VALUES ('Anderson Oliveira','3322445566','418757788','4455667788', 'Vendedor de Loja', '25-10-1980', '08-09-2013', '08-09-2013', true, '4.00');

APAGAR TUPLA DELETE FROM funcionario WHERE cpf = '3322445566';

ALTERAR TUPLA UPDATE funcionario SET cargo = 'Vendedor de Atacado',comissao = '10.00' WHERE cpf ='3322445566';

Tabela Produto

INSERIR TUPLA INSERT INTO produto (descricao, precovenda, precocompra, marca, tipo) VALUES ('HD SSD SATA3 2.5" 500GB SAMSUNG ,840 EVO MZ-7TE50W ', '700.00',

...

Baixar como (para membros premium)  txt (30.2 Kb)  
Continuar por mais 14 páginas »
Disponível apenas no TrabalhosGratuitos.com