Buscar

Banco de Dados Fabrica_max

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

create database fabrica_7517202
go
use fabrica_7517202
go
create table cliente(
	idCliente int identity (1,1),
	razao_social varchar(60) not null,
	nome_fantasia varchar(60),
	cnpj varchar(14) not null,
	constraint PK_cliente_idCliente primary key (idCliente)
)
go
create table lote(
	idLote int identity (1,1),
	idCliente int,
	dt_venda datetime not null,
	qtde_lote int not null,
	vlr_lote decimal(8,2),
	constraint PK_lote_idlote primary key (idLote),
	constraint FK_lote_idcliente foreign key (idCliente) REFERENCES cliente (idCliente)
)
go
create table produto
(	idProduto int identity(1,1),
	descricao varchar(100) not null,
	sabor varchar(50) not null,
	tipo_Embalagem varchar(100) not null,
	vlr_unitario decimal(8,2),
	constraint PK_produto_idProduto primary key (idProduto),
)
go
create table ingredientes(
	idIngredientes int identity(1,1),
	descricao varchar(100) not null,
	qtde_estoque int not null,
	dt_retirada date not null,
	unid_medida varchar(50),
	constraint PK_ingredientes_idIngredientes primary key (idIngredientes),
)
go
create table ItensLote(
	idProduto int,
	idLote int,
	qtde_prod int not null,
	constraint PK_Itens_lote primary key (idProduto,idlote),
	constraint FK_Itenslote_idlote foreign key (idLote) REFERENCES lote(idLote),
	constraint FK_Itenslote_idProduto foreign key (idProduto) REFERENCES produto(idProduto)
	)
go
create table formula(
	idProduto int,
	idIngredientes int,
	qtde_utilizada int not null,
	constraint PK_formula primary key (idProduto,idIngredientes),
	constraint FK_formula_idProduto foreign key (idProduto) REFERENCES produto(idProduto),
	constraint FK_formula_idIngredientes foreign key (idIngredientes) REFERENCES ingredientes(idIngredientes)
)
use fabrica_7517202
/*Inserindo Cliente*/
insert into cliente(razao_social,nome_fantasia, cnpj)
values ('frutiquelo', 'frutiquelo inc. ltda','123456')
insert into cliente(razao_social,nome_fantasia, cnpj)
values ('icegurt', 'icegurt é bom','789123')
insert into cliente(razao_social,nome_fantasia, cnpj)
values ('nestlé', 'Kibom','456789')
insert into cliente(razao_social,nome_fantasia, cnpj)
values ('raspades', 'zezinho panificadora ltda.','123456')
/*Setando formato de data em BR*/
set dateformat dmy
/*Inserindo Lotes */
insert into lote(idCliente,dt_venda, qtde_lote, vlr_lote)
values (1, '22/02/2019',200,600.4), (1, '15/04/2019',100,310), (1, '13/05/2019',100,315), (1, '10/07/2019',100,350)
insert into lote(idCliente,dt_venda, qtde_lote, vlr_lote)
values (2, '23/01/2019',130,600.2), (2, '16/04/2019',100,315), (2, '29/05/2019',100,317)
insert into lote(idCliente,dt_venda, qtde_lote, vlr_lote)
values (3, '22/05/2019',200,600.6), (3, '17/04/2019',100,318), (3, '29/06/2019',100,317)
insert into lote(idCliente,dt_venda, qtde_lote, vlr_lote)
values (4, '22/07/2019',200,600.8), (4, '15/04/2019',100,319), (4, '13/09/2019',100,314)
/*Inserindo Produtos*/
insert into produto(descricao,sabor, tipo_Embalagem, vlr_unitario)
values ('Picolé ao Leite','Morango','Palito', 3.1), ('Picolé de fruta','Uva','Palito', 3.15), ('Sorvete Trufado','Chocolate','Pote', 15.1),
		('Picolé ao Leite','Chocolate','Palito', 3.5), ('Picolé ao Leite','Geninpapo','Palito', 3.99), ('Sorvete Trufado','Uva','Pote', 20.5)
/*Inserindo Itens Lotes*/
insert into ItensLote(idProduto,idLote, qtde_prod)
values (1,1,150),(2,1,50),
		(1,2,150),(2,2,50),
		(3,3,50),(4,3,50),
		(4,4,50),(1,4,50),
		(5,5,80),(2,5,20),
		(2,6,30),(3,6,100),
		(3,7,70),(4,7,30),
		(2,8,60),(1,8,40),
		(3,9,170),(2,9,30),
		(4,10,70),(5,10,30),
		(2,11,40),(3,11,60),
		(1,12,175),(2,12,25),
		(3,13,50),(2,13,50),
		(4,14,85),(1,14,15)
/* Atualizando valor dos proddutos para acrescimo de 10%*/
update produto set							/*ou*/
vlr_unitario = vlr_unitario * 1.1 /* vlr_unitario = vlr_unitario + (vlr_unitario * 0.10) */
select razao_social,nome_fantasia from cliente 
select*from lote
select distinct dt_venda from lote
/* Clausula Where par pesquisar de acordo com um intervalo especifico*/
select*from lote where dt_venda between ('01/02/2019') and ('28/02/2019')
select*from lote where month(dt_venda) = '2' and year (dt_venda) = '2019' 
/*Pesquisando em Ordem alfabetica*/
select*from lote order by dt_venda desc,dt_venda
SELECT TOP 3 * FROM produto
select top 80 percent * from produto
select * from cliente where razao_social like '%a%'
/*Renomeando colunas*/
select idCliente as Código, razao_social as Razão, nome_fantasia as Fantasia, cnpj from cliente
/* relatório com Inner Join*/
select razao_social as 'Razão Social',
		nome_fantasia as ' Nome Fantasia', 
		convert(varchar, dt_venda,103) as 'Data de Venda',
	 qtde_lote as 'QTDE. Produtos', 
		vlr_lote as 'Valor Lote'
from cliente inner join lote on cliente.idCliente = lote.idCliente
/* Sem Inner Join*/
SELECT razao_social, nome_fantasia, dt_venda, qtde_lote, vlr_lote
FROM cliente, lote
WHERE cliente.idCliente = lote.idCliente and month(dt_venda) = '2' and year (dt_venda) = '2019'
select razao_social as 'Razão Social',
		nome_fantasia as ' Nome Fantasia', 
		convert(varchar, dt_venda,103) as 'Data de Venda',
	 qtde_lote as 'QTDE. Produtos', 
		vlr_lote as 'Valor Lote'
from cliente left join lote on cliente.idCliente = lote.idCliente
/*Consultando Produtos com Total com Inner Join*/
select lote.idLote as 'Identificação do Lote',
		convert (varchar, dt_venda, 103) as 'Data de Venda', 
		qtde_lote as 'Quantidade do Lote',
		vlr_lote as 'Valor do Lote',
		descricao as 'Descrição do Produto',
		vlr_unitario as 'Valor Unitário ',
		qtde_prod as 'Quantidade do Produto',
		vlr_unitario * qtde_prod as 'Valor Total'
from lote inner join ItensLote on lote.idLote = ItensLote.idlote inner join produto on produto.idProduto = ItensLote.idProduto
order by lote.idLote
/*consultando Produtos com Total Sem Inner Join*/
select lote.idLote as 'Identificação do Lote',
		convert (varchar, dt_venda, 103) as 'Data de Venda', 
		qtde_lote as 'Quantidade do Lote',
		vlr_lote as 'Valor do Lote',
		descricao as 'Descrição do Produto',
		vlr_unitario as 'Valor Unitário ',
		qtde_prod as 'Quantidade do Produto',
		vlr_unitario * qtde_prod as 'Valor Total'
from lote, ItensLote,produto
WHERE lote.idlote = ItensLote.idlote and produto.idProduto = ItensLote.idProduto
order by lote.idLote
/*Relatório aonde os clientes nunca compraram lote*/
select * from cliente
where idCliente not in (select idCliente from lote)
/*Relatório aonde os produtos nunca estiveram em nenhum lote*/
select * from produto
where idProduto not in (select idProduto from ItensLote)
/*Retorna o N° de linhas de uma tabela */
select count(*) from cliente
/*Retorna o maior valor de um determinado atributo*/
select max(idCliente) from cliente
/*Retorna o menor valor de um determinado atributo*/
select min(idcliente) from cliente
/*Retorna a Somatória de valores de um atributo*/
select SUM(vlr_lote) from lote
/*Retorna o Valor médio da soma de valores de um determinado atributo*/
select AVG(vlr_lote) from lote
/*Retornando relatório de lotes junto com a soma do valor total e valor médio de cada lote*/
select count(idlote) as 'Somatória do Total de Lotes', SUM(vlr_lote) AS 'Valor Lote', AVG(vlr_lote)as 'valor médio' from lote
/*Relatório de lotes de um determinado mês e ano*/
SELECT MONTH(dt_venda) AS 'MÊS',
		YEAR(dt_venda) AS 'ANO',
		SUM(vlr_lote) FROM lote GROUP BY MONTH(dt_venda), YEAR(dt_venda)
/*Agrupamento da descição de produtos contando o total de produtos de uma determinada descricão*/
select descricao, sabor, count(idLote) as 'Total'
from produto inner join ItensLote on ItensLote.idProduto = produto.idProduto group by descricao,sabor

Continue navegando