Exercícios
Índices
Incluir:
01) Tabela de Marcas relacionada com Produto
create table marca ( codmarca int primary key, marca varchar2(30) not null ); alter table Produto add codmarca int null; ALTER TABLE PRODUTO ADD CONSTRAINT FK_marca FOREIGN KEY (codmarca) REFERENCES marca (codmarca)
02 e 04) Tabela de Cep relacionada com Fornecedor e REgistroCaixa
create table CEP ( codCEP int primary key, CEP int not null );
alter table Fornecedores add codCEP int null; alter table RegistroCaixa add codCEP int null; ALTER TABLE Fornecedores ADD CONSTRAINT FK_cep FOREIGN KEY (codcep) REFERENCES cep (codcep) ALTER TABLE RegistroCaixa ADD FOREIGN KEY (codcep) REFERENCES cep (codcep) ;
03) E popular novos campos em Caixa: Data, Hora e Valor em Dinheiro
Alter table Caixa add data datetime null; Alter table Caixa add hora datetime null; Alter table Caixa add valor number null;
INSERT INTO Caixa (numerocaixa, cpfcaixa, data, hora, valor) VALUES (12, 2345678, 22/12/2012 , 1414 , 455); Inserir:
05) Um produto para dois fornecedores diferentes. Ex: Bombril para Forn A e Forn B
Antes de tudo , precisei desativar o Constraint Produtos_pk para usar 2 fornecedores para 1 produto.
06) Na Tabela Produtos Comprados, duas compras para o mesmo produto
07) Um novo produto em Estoque e manter dado anterior
08) Um novo campo: LimitiMinimo na Tabela Produtos
Alter table Produto add LimiteMinimo number null;
Excluir:
09) Um fornecedor qualquer da Tabela Fornecedores
DELETE FROM fornecedores WHERE ID_fornecedor=1;
10) Uma venda qualquer da Tabela VendaProduto
DELETE FROM vendaproduto WHERE ID_venda=123;
11) Porque Local em Estoque e LocalMercadoria em Local?
Nao tem necessidade portanto sera deletado : Alter table Estoque drop column Local;
12) Explicar para que serve a Tabela VendaProduto.
Coloquei a tabela Venda produto pois acho que em um sistema de banco de dados que tem como foco as vendas dos produtos feitas pelos caixas , terá muitos dados a serem guardados em uma só tabela , por isso dei exclusividade para as vendas dos produtos em uma só tabela.
Gerar relatório que mostre:
13) Todas as Movimentações do Estoque (IdProduto, IdLocal, Quantidade e Horário :
select ESTOQUE.ID_PRODUTO as ID_PRODUTO, eSTOQUE.ID_LOCAL as ID_LOCAL, eSTOQUE.QUANTIDADECOMPRADA as QUANTIDADECOMPRADA, eSTOQUE.HORARIOCOMPRA as HORARIOCOMPRA from ESTOQUE ESTOQUE
14) Todos os produtos com suas Quantidades e Preços
select PRODUTO.NOMEPRODUTO as NOMEPRODUTO, PRODUTO.PRECOPRODUTO as PRECOPRODUTO, PRODUTO.MARCA as MARCA, PRODUTO.ID_FORNECEDOR as ID_FORNECEDOR, PRODUTO.ID_PRODUTO as ID_PRODUTO, PRODUTO.PESO as PESO, PRODUTO.COR as COR from PRODUTO PRODUTO
15) Toda a movimentação de um dia do Caixa (Id. Venda, Produto, Quantidade, Valor)
select VENDAS.ID_VENDA as ID_VENDA, VENDAS.DATA as DATA, VENDAS.HORARIO as HORARIO, VENDAS.STATUS as STATUS, VENDAS.ID_PARCELAS as ID_PARCELAS, VENDAS.NUMEROCAIXA as NUMEROCAIXA, VENDAS.CPFCAIXA as CPFCAIXA, VENDAPRODUTOS.ID_VENDA as ID_VENDA, VENDAPRODUTOS.QUANTIDADE as QUANTIDADE, VENDAPRODUTOS.ID_PRODUTO as ID_PRODUTO from VENDAPRODUTOS VENDAPRODUTOS, VENDAS VENDAS
16) Todo os produtos com saldo de estoque abaixo do mínimo
select ESTOQUE.ID_LOCAL as ID_LOCAL, ESTOQUE.ID_PRODUTO as ID_PRODUTO, ESTOQUE.QUANTIDADECOMPRADA as QUANTIDADECOMPRADA, ESTOQUE.HORARIOCOMPRA as HORARIOCOMPRA, ESTOQUE.QUANTIDADEESTOCADA as QUANTIDADEESTOCADA from ESTOQUE ESTOQUE where ESTOQUE.QUANTIDADEESTOCADA <=100 order by ESTOQUE.QUANTIDADEESTOCADA
17) Todas as Vendas ordenadas por Status
select VENDAS.STATUS as STATUS , VENDAS.DATA as DATA , VENDAS.ID_VENDA as ID_VENDA , VENDAS.HORARIO as HORARIO , VENDAS.ID_PARCELAS as ID_PARCELAS , VENDAS.CPFCAIXA as CPFCAIXA , VENDAS.NUMEROCAIXA as NUMEROCAIXA from VENDAS VENDAS order by VENDAS.STATUS
18) Dados do produtos (Nome, Preço, Nome da Marca, Quantidade) ordenados por Nome do Produto
select PRODUTO.ID_FORNECEDOR as ID_FORNECEDOR , PRODUTO.ID_PRODUTO as ID_PRODUTO , PRODUTO.NOMEPRODUTO as NOMEPRODUTO , PRODUTO.PRECOPRODUTO as PRECOPRODUTO , PRODUTO.MARCA as MARCA , PRODUTO.PESO as PESO , PRODUTO.COR as COR , PRODUTO.CODMARCA as CODMARCA from PRODUTO PRODUTO order by PRODUTO.NOMEPRODUTO
19) Todas as vendas em Aberto (Com parcelas a Vencer)
select VENDAS.ID_VENDA as ID_VENDA, VENDAS.DATA as DATA, VENDAS.STATUS as STATUS, VENDAS.NUMEROCAIXA as NUMEROCAIXA, VENDAS.CPFCAIXA as CPFCAIXA, VENDAS.ID_PARCELAS as ID_PARCELAS, VENDAS.HORARIO as HORARIO from VENDAS VENDAS WHERE status = 'pendente'
20) Todos os produtos (Nome, Id, Marca) com seus fornecedores (Nome, email, Fone1) ordenados por Nome do Produto
select PRODUTO.MARCA as MARCA, PRODUTO.NOMEPRODUTO as NOMEPRODUTO, PRODUTO.ID_PRODUTO as ID_PRODUTO, FORNECEDORES.NOME as NOME, FORNECEDORES.EMAIL as EMAIL, FORNECEDORES.FONE1 as FONE1 from FORNECEDORES FORNECEDORES, PRODUTO PRODUTO order by PRODUTO.NOMEPRODUTO