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