Documente Academic
Documente Profesional
Documente Cultură
SISTEMAS DE INFORMAO
Belo Horizonte, MG
2014, 2
BRUNO PETER RODRIGUES RA 1299791009
LCIO RAIMUNDO RA 1299488822
Belo Horizonte, MG
2
Cpia total ou parcial no autorizada.
2014,
LISTA DE FIGURAS
Figura 1: Modelo de Entidade e Relacionamento (Conceitual)................................................10
Figura 2: Modelo Relacional (Lgico)......................................................................................11
Figura 3: Dados da tabela 'Produto'..........................................................................................18
Figura 4: Dados da tabela 'Entrada'...........................................................................................19
Figura 5: Dados da tabela 'Sada'..............................................................................................19
Figura 6: Dados da tabela 'Caixa'..............................................................................................19
Figura 7: Dados da tabela 'Movimentao'...............................................................................20
Figura 8: Dados da tabela caixa aps atualizao.....................................................................24
Figura 9: Dados da tabela movimentao aps atualizao......................................................24
Figura 10: Comando Where na tabela 'Produto' em SQL Server..............................................25
Figura 11: Dados da tabela produto aps o 1 where................................................................25
Figura 12: Dados da tabela produto aps o 2 where................................................................25
Figura 13: Delete na tabela Produto..........................................................................................27
Figura 14: Delete na tabela Entrada..........................................................................................27
Figura 15: Delete na tabela Movimentao..............................................................................27
3
Cpia total ou parcial no autorizada.
LISTA DE TABELAS
Tabela 1: Listagem dos requisitos levantados.............................................................................9
4
Cpia total ou parcial no autorizada.
LISTA DE CDIGOS
Cdigo 1: Criao do Banco e das Tabelas em SQL Server 2012............................................13
Cdigo 2: Insero de dados na estrutura de Banco de Dados em SQL Server.......................18
Cdigo 3: Update nas tabelas 'Caixa' e 'Movimentao' em SQL Server.................................24
Cdigo 4: Delete em dados na estrutura do banco em SQL Server..........................................26
Cdigo 5: Procedure Movimentao de Entrada de Produtos..................................................28
Cdigo 6: Procedure Movimentao de Sada de Produtos......................................................29
Cdigo 7: Procedure Clculo dos valores de movimentao de caixa.....................................30
Cdigo 8: Registro da movimentao de sada de produtos.....................................................31
Cdigo 9: Trigger Alimentar 'Movimentao' ao Inserir..........................................................32
Cdigo 10: Calcular valores de caixa ao Inserir.......................................................................33
Cdigo 11: Calcular valores de caixa ao atualizar....................................................................33
Cdigo 12: Trigger Alimentar estoque ao inserir produto........................................................34
Cdigo 13:Trigger Alimentar estoque ao atualizar produto......................................................34
Cdigo 14: Trigger alimenta estoque ao deletar entrada de Produto........................................35
Cdigo 15: Trigger alimenta estoque ao dar sada no produto.................................................35
Cdigo 16: Alimenta estoque ao atualizar sada de produto.....................................................36
Cdigo 17: Alimenta estoque ao deletar sada de produto........................................................37
5
Cpia total ou parcial no autorizada.
SUMRIO
LISTA DE FIGURAS.................................................................................................................3
LISTA DE TABELAS.................................................................................................................4
LISTA DE CDIGOS.................................................................................................................5
1.
INTRODUO..................................................................................................................8
2.
BANCO DE DADOS.........................................................................................................9
3.
4.
2.1
Anlise de Requisitos...................................................................................................9
2.2
Projeto Conceitual......................................................................................................10
2.3
Projeto Lgico............................................................................................................11
2.4
Projeto Fsico..............................................................................................................12
Insert...........................................................................................................................14
3.2
Update........................................................................................................................20
3.3
Where.........................................................................................................................24
3.4
Delete.........................................................................................................................26
Procedures..................................................................................................................28
4.1.1
4.1.2
4.1.3
4.1.4
4.2
Triggers......................................................................................................................32
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.2.6
4.2.7
4.2.8
4.2.9
5.
CONCLUSO..................................................................................................................38
6.
REFERNCIAS................................................................................................................39
7
Cpia total ou parcial no autorizada.
1. INTRODUO
Com a crescente tecnologia, quem no se adapta integrao de dados utilizando os
sistemas de informao acaba perdendo mercado para a concorrncia, por isso importante
investir na coleta, armazenamento, segurana e minerao dos dados objetivando a obteno de
informaes para melhor aplicar em seu negcio.
No contexto da tecnologia, o gerenciamento de banco de dados ganha destaque primordial
por ser responsvel direto no tratamento de dados e informaes recorrentes da programao e da
soluo aprimorada de lida com tecnologia e negociao direta.
Uma grande padaria de SP, pertinente essa situao, disps de investimento para uma
soluo de banco de dados com a finalidade de garantir melhores resultados de gerenciamento e
controle de seu fluxo de caixa e de seu estoque de produtos para que no lhe falte mercadorias e
nem haja estocamento desnecessrio.
Este relatrio tem como objetivo mostrar os passos principais da construo do banco de
dados e da programao para automatizar os clculos financeiros envolvidos, minimizando o
trabalho e, consequentemente, as falhas por erros humanos.
8
Cpia total ou parcial no autorizada.
2. BANCO DE DADOS
2.1 Anlise de Requisitos
De acordo com a aderncia com o cliente, o sistema dever ser capaz de controlar a
movimentao de compra e venda registrando as operaes pertinentes ao cadastro e
movimentao de estoque, bem como custo de produtos e lucro real obtido no negcio. Ainda
Mdulos:
Tabelas:
Produto
Entrada
Sada
Caixa
Movimentao
{Cdigo da Movimentao, Cdigo do Caixa, Data Movimentao, Hora Movimentao, Valor Recebido}
Compra de Produtos
Venda de Produtos
Frente de Caixa
Operao de venda
Estoque
9
Cpia total ou parcial no autorizada.
10
Cpia total ou parcial no autorizada.
11
Cpia total ou parcial no autorizada.
12
Cpia total ou parcial no autorizada.
(
[codCaixa] ASC
),
CONSTRAINT [FK_Caixa_Saida] FOREIGN KEY([codSaida])
REFERENCES [dbo].[Saida] ([codSaida])
)
GO
CREATE TABLE [dbo].[Movimentacao](
[codMovimentacao] [int] IDENTITY(1,1) NOT NULL,
[codCaixa] [int] NOT NULL,
[dataMovimentacao] [date] NOT NULL,
[horaMovimentacao] [time](7) NOT NULL,
[valorRecebido] [float] NOT NULL,
CONSTRAINT [PK_Movimentacao] PRIMARY KEY CLUSTERED
(
[codMovimentacao] ASC
),
CONSTRAINT [FK_Movimentacao_Caixa] FOREIGN KEY([codCaixa])
REFERENCES [dbo].[Caixa] ([codCaixa])
)
GO
Cdigo 1: Criao do Banco e das Tabelas em SQL Server 2012
13
Cpia total ou parcial no autorizada.
14
Cpia total ou parcial no autorizada.
SELECT *
FROM [dbo].Produto
ORDER BY [nomeProduto]
GO
/* Insert tabela ENTRADA */
INSERT INTO [dbo].Entrada
VALUES (1, 200, '02/10/2014', '16:44:00')
GO
INSERT INTO [dbo].Entrada
VALUES (2, 200, '02/10/2014', '16:45:00')
GO
INSERT INTO [dbo].Entrada
VALUES (3, 100, '02/10/2014', '16:47:00')
GO
INSERT INTO [dbo].Entrada
VALUES (4, 20, '02/10/2014', '16:48:00')
GO
INSERT INTO [dbo].Entrada
VALUES (5, 30, '02/10/2014', '16:48:00')
GO
INSERT INTO [dbo].Entrada
VALUES (6, 20, '02/10/2014', '16:49:00')
GO
INSERT INTO [dbo].Entrada
VALUES (7, 20, '02/10/2014', '16:50:00')
GO
INSERT INTO [dbo].Entrada
VALUES (8, 20, '02/10/2014', '16:52:00')
GO
INSERT INTO [dbo].Entrada
VALUES (9, 200, '02/10/2014', '16:53:00')
GO
INSERT INTO [dbo].Entrada
VALUES (10, 50, '02/10/2014', '16:55:00')
GO
SELECT *
FROM [dbo].Entrada
GO
/* Insert tabela SAIDA*/
INSERT INTO [dbo].Saida
VALUES (6, 1, '03/10/2014', '08:03:01')
GO
15
Cpia total ou parcial no autorizada.
[dbo].Produto.precoVenda,
16
Cpia total ou parcial no autorizada.
17
Cpia total ou parcial no autorizada.
18
Cpia total ou parcial no autorizada.
19
Cpia total ou parcial no autorizada.
3.2 Update
USE [Padaria_ATPSBD]
GO
/* verificando os dados da tabela 'Saida' */
SELECT *
FROM [dbo].Saida
GO
/* verificando os dados da tabela 'Caixa' */
SELECT *
FROM [dbo].Caixa
20
Cpia total ou parcial no autorizada.
GO
/* Update 'valorVenda' tabela 'Caixa' */
UPDATE [dbo].Caixa
SET valorVenda = ((SELECT [dbo].Produto.precoVenda FROM [dbo].Produto,
[dbo].Saida WHERE [dbo].Produto.codProduto = [dbo].Saida.codProduto AND
[dbo].Saida.codSaida = 1) *
(SELECT
[dbo].Saida.quantidade
FROM
[dbo].Saida,
[dbo].Produto
WHERE
[dbo].Produto.codProduto
=
[dbo].Saida.codProduto AND [dbo].Saida.codSaida = 1))
WHERE codSaida = 1
GO
UPDATE [dbo].Caixa
SET valorVenda = ((SELECT [dbo].Produto.precoVenda FROM [dbo].Produto,
[dbo].Saida WHERE [dbo].Produto.codProduto = [dbo].Saida.codProduto AND
[dbo].Saida.codSaida = 2) *
(SELECT
[dbo].Saida.quantidade
FROM
[dbo].Saida,
[dbo].Produto
WHERE
[dbo].Produto.codProduto
=
[dbo].Saida.codProduto AND [dbo].Saida.codSaida = 2))
WHERE codSaida = 2
GO
UPDATE [dbo].Caixa
SET valorVenda = ((SELECT [dbo].Produto.precoVenda FROM [dbo].Produto,
[dbo].Saida WHERE [dbo].Produto.codProduto = [dbo].Saida.codProduto AND
[dbo].Saida.codSaida = 3) *
(SELECT
[dbo].Saida.quantidade
FROM
[dbo].Saida,
[dbo].Produto
WHERE
[dbo].Produto.codProduto
=
[dbo].Saida.codProduto AND [dbo].Saida.codSaida = 3))
WHERE codSaida = 3
GO
UPDATE [dbo].Caixa
SET valorVenda = ((SELECT [dbo].Produto.precoVenda FROM [dbo].Produto,
[dbo].Saida WHERE [dbo].Produto.codProduto = [dbo].Saida.codProduto AND
[dbo].Saida.codSaida = 4) *
(SELECT
[dbo].Saida.quantidade
FROM
[dbo].Saida,
[dbo].Produto
WHERE
[dbo].Produto.codProduto
=
[dbo].Saida.codProduto AND [dbo].Saida.codSaida = 4))
WHERE codSaida = 4
GO
UPDATE [dbo].Caixa
SET valorVenda = ((SELECT [dbo].Produto.precoVenda FROM [dbo].Produto,
[dbo].Saida WHERE [dbo].Produto.codProduto = [dbo].Saida.codProduto AND
[dbo].Saida.codSaida = 5) *
(SELECT
[dbo].Saida.quantidade
FROM
[dbo].Saida,
[dbo].Produto
WHERE
[dbo].Produto.codProduto
=
[dbo].Saida.codProduto AND [dbo].Saida.codSaida = 5))
WHERE codSaida = 5
GO
UPDATE [dbo].Caixa
SET valorVenda = ((SELECT
[dbo].Produto.precoVenda
FROM
[dbo].Produto,
21
Cpia total ou parcial no autorizada.
22
Cpia total ou parcial no autorizada.
GO
UPDATE [dbo].Caixa
SET valorVenda = ((SELECT [dbo].Produto.precoVenda FROM [dbo].Produto,
[dbo].Saida WHERE [dbo].Produto.codProduto = [dbo].Saida.codProduto AND
[dbo].Saida.codSaida = 12) *
(SELECT
[dbo].Saida.quantidade
FROM
[dbo].Saida,
[dbo].Produto
WHERE
[dbo].Produto.codProduto
=
[dbo].Saida.codProduto AND [dbo].Saida.codSaida = 12))
WHERE codSaida = 12
GO
/* Verificando a tabela 'Movimentao' */
SELECT *
FROM [dbo].Movimentacao
ORDER BY codCaixa
GO
/* Update tabela 'Movimentao' */
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 1)+2.1
WHERE codCaixa = 1
GO
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 2)+19.3
WHERE codCaixa = 2
GO
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 3)+20.2
WHERE codCaixa = 3
GO
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 4)+20.1
WHERE codCaixa = 4
GO
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 5)+20.2
WHERE codCaixa = 5
GO
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 6)+20.5
WHERE codCaixa = 6
GO
23
Cpia total ou parcial no autorizada.
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 7)+20.6
WHERE codCaixa = 7
GO
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 8)+20.4
WHERE codCaixa = 8
GO
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 9)+20.1
WHERE codCaixa = 9
GO
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 10)+19.3
WHERE codCaixa = 10
GO
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 11)+19.7
WHERE codCaixa = 11
GO
UPDATE [dbo].Movimentacao
SET valorRecebido = (SELECT [dbo].Caixa.valorVenda FROM [dbo].Caixa WHERE
codCaixa = 12)+20
WHERE codCaixa = 12
GO
Cdigo 3: Update nas tabelas 'Caixa' e 'Movimentao' em SQL Server
24
Cpia total ou parcial no autorizada.
3.3 Where
USE [Padaria_ATPSBD]
GO
/* Where na tabela produto */
SELECT [dbo].Produto.precoVenda
FROM [dbo].Produto
WHERE [dbo].Produto.precoVenda > 20.90;
25
Cpia total ou parcial no autorizada.
GO
SELECT [dbo].Produto.codProduto
FROM [dbo].Produto
WHERE [dbo].Produto.codProduto >= 90;
GO
Figura 10: Comando Where na tabela 'Produto' em SQL Server
26
Cpia total ou parcial no autorizada.
3.4 Delete
USE [Padaria_ATPSBD]
GO
/* delete na tabela produto */
delete
from dbo.Produto
where codProduto = 5
delete
from dbo.Produto
where codProduto = 10
select *
from dbo.Produto
/* delete na tabela entrada */
delete
from dbo.entrada
where codProduto = 2
delete
from dbo.entrada
where codProduto = 5
delete
from dbo.entrada
where codProduto = 8
27
Cpia total ou parcial no autorizada.
delete
from dbo.entrada
where codProduto = 10
SELECT *
FROM [dbo].Entrada
GO
/* delete na tabela movimentaao */
delete
from dbo.movimentacao
where codMovimentacao = 1
delete
from dbo.movimentacao
where codMovimentacao = 12
SELECT *
FROM [dbo].movimentacao
GO
Cdigo 4: Delete em dados na estrutura do banco em SQL Server
28
Cpia total ou parcial no autorizada.
29
Cpia total ou parcial no autorizada.
USE [PadariaBD]
GO
/****** Object: StoredProcedure [dbo].[sp_Estoque_Entrada] Script Date: 18/11/2014
20:13:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_Estoque_Entrada](@idProduto INT, @idEntrada INT)
AS
BEGIN
DECLARE @cont INT;
DECLARE @quantEntrada INT;
SELECT @cont=COUNT(*) FROM PadariaBD.dbo.Estoque WHERE IdProduto =
@idProduto
SELECT @quantEntrada=Quantidade FROM PadariaBD.dbo.Entrada WHERE
IdEntrada = @idEntrada;
IF @cont > 0
UPDATE PadariaBD.dbo.Estoque SET Quantidade = Quantidade +
@quantEntrada WHERE IdProduto = @idProduto
ELSE
INSERT INTO PadariaBD.dbo.Estoque(
IdProduto,
Quantidade
)
VALUES(
@idProduto,
@quantEntrada
)
END
Cdigo 5: Procedure Movimentao de Entrada de Produtos
30
Cpia total ou parcial no autorizada.
4.1.2
USE [PadariaBD]
GO
/****** Object: StoredProcedure [dbo].[sp_Estoque_Saida] Script Date: 18/11/2014
20:22:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_Estoque_Saida](@idProduto INT, @idSaida INT)
AS
BEGIN
DECLARE @cont INT;
DECLARE @quantSaida INT;
SELECT @cont=COUNT(*) FROM PadariaBD.dbo.Estoque WHERE IdProduto =
@idProduto
SELECT @quantSaida=Quantidade FROM PadariaBD.dbo.Saida WHERE IdSaida =
@idSaida;
IF @cont > 0
UPDATE PadariaBD.dbo.Estoque SET Quantidade = Quantidade @quantSaida WHERE IdProduto = @idProduto
ELSE
INSERT INTO PadariaBD.dbo.Estoque(
IdProduto,
Quantidade
)
VALUES(
@idProduto,
@quantSaida
)
END
Cdigo 6: Procedure Movimentao de Sada de Produtos
31
Cpia total ou parcial no autorizada.
4.1.3
USE [PadariaBD]
GO
/****** Object: StoredProcedure [dbo].[sp_ValoresCaixa] Script Date: 18/11/2014 20:23:57
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_ValoresCaixa](@idProduto INT, @idSaida INT, @idCaixa INT)
AS
BEGIN
DECLARE @valorTotal NUMERIC(5,2)
DECLARE @troco NUMERIC(5,2)
DECLARE @valorProduto NUMERIC(5,2)
DECLARE @valorRecebido NUMERIC(5,2)
DECLARE @quantidade INT
SELECT @valorProduto=PrecoVenda FROM Produto WHERE IdProduto=@idProduto
SELECT @quantidade=Quantidade FROM Saida WHERE IdSaida=@idSaida
SELECT @valorRecebido=ValorRecebido FROM Caixa WHERE IdCaixa=@idCaixa
SET @valorTotal=@valorProduto * @quantidade
SET @troco=@valorRecebido - @valorTotal
INSERT INTO Caixa(
IdSaida,
ValorRecebido,
Troco,
ValorTotal
)
VALUES(
@idSaida,
@valorRecebido,
@troco,
@valorTotal
)
END
Cdigo 7: Procedure Clculo dos valores de movimentao de caixa
32
Cpia total ou parcial no autorizada.
4.1.4
USE [PadariaBD]
GO
/****** Object: StoredProcedure [dbo].[sp_Movimentacao] Script Date: 18/11/2014
20:27:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_Movimentacao](@id_produto INT, @id_Caixa INT)
AS
BEGIN
DECLARE @numVenda INT;
DECLARE @nomeProduto VARCHAR(50);
DECLARE @data DATETIME;
DECLARE @quant_Estoque INT;
DECLARE @situacaoEstoque VARCHAR(50);
DECLARE @estoquemax INT;
DECLARE @estoquemin INT;
SELECT @numVenda= IdSaida FROM PadariaBD.dbo.Caixa WHERE IdCaixa =
@id_Caixa;
SELECT @nomeProduto= NomeProduto FROM PadariaBD.dbo.Produto WHERE
IdProduto = @id_produto;
SELECT @data = SYSDATETIME();
SELECT @quant_Estoque= Quantidade FROM PadariaBD.dbo.Estoque WHERE
IdProduto = @id_produto;
SELECT @estoquemax=EstoqueMaximo, @estoquemin=EstoqueMinimo FROM
Produto WHERE IdProduto = @id_produto;
IF @quant_Estoque >= @estoquemax
SELECT @situacaoEstoque = ' ESTOQUE ALTO ';
ELSE
IF @quant_Estoque <= @estoquemin
SELECT @situacaoEstoque = ' ESTOQUE BAIXO ';
ELSE
SELECT @situacaoEstoque = 'VERIFIQUE O ESTOQUE';
INSERT INTO PadariaBD.dbo.Movimentacao(
NumeroVenda,
Produto,
Estoque,
DataMovimentacao,
IdProduto,
SituacaoEstoque
)
VALUES(
@numVenda,
@nomeProduto,
@quant_Estoque,
@data,
@id_produto,
@situacaoestoque
)
33
Cpia total ou parcial no autorizada.
END
Cdigo 8: Registro da movimentao de sada de produtos
34
Cpia total ou parcial no autorizada.
4.2 Triggers
Trigger um bloco de cdigo que executa uma tarefa sempre que um evento associado
ocorrer. Sua principal utilizao, alm da automatizao de funes e procedimentos, manter a
consistncia dos dados ou propagar alteraes em um determinado dado de uma tabela para outra.
4.2.1
USE [PadariaBD]
GO
/****** Object: Trigger [dbo].[TGR_UpdateMovimentacao]
20:41:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[TGR_UpdateMovimentacao]
ON [dbo].[Caixa]
BEFORE INSERT
AS
BEGIN
DECLARE @IdProduto INT;
DECLARE @IdCaixa INT;
4.2.2
USE [PadariaBD]
GO
/****** Object: Trigger [dbo].[TGR_UpdateValores_FI]
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TGR_UpdateValores_FI]
ON [dbo].[Caixa]
FOR INSERT
AS
BEGIN
DECLARE @idproduto INT
DECLARE @idsaida INT
DECLARE @idcaixa INT
35
Cpia total ou parcial no autorizada.
4.2.3
USE [PadariaBD]
GO
/****** Object: Trigger [dbo].[TGR_UpdateValores_FU]
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TGR_UpdateValores_FU]
ON [dbo].[Caixa]
FOR UPDATE
AS
BEGIN
DECLARE @idproduto INT
DECLARE @idsaida INT
DECLARE @idcaixa INT
36
Cpia total ou parcial no autorizada.
4.2.4
USE [PadariaBD]
GO
/****** Object: Trigger [dbo].[TGR_EstoqueEntrada_AI] Script Date: 18/11/2014 21:02:06
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- Batch submitted through debugger: Trigger_EstoqueEntrada_AI.sql|0|0|
C:\Users\Marcela\Documents\SQL Server Management
Studio\PadariaBD\Trigger_EstoqueEntrada_AI.sql
ALTER TRIGGER [dbo].[TGR_EstoqueEntrada_AI]
ON [dbo].[Entrada]
AFTER INSERT
AS
BEGIN
DECLARE @idproduto INT
DECLARE @identrada INT
SELECT @identrada=IdEntrada FROM inserted
SELECT @idproduto=IdProduto FROM inserted
EXECUTE sp_Estoque_Entrada @idproduto, @identrada
END
Cdigo 12: Trigger Alimentar estoque ao inserir produto
4.2.5
USE [PadariaBD]
GO
/****** Object: Trigger [dbo].[TGR_EstoqueEntrada_AU]
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TGR_EstoqueEntrada_AU]
ON [dbo].[Entrada]
AFTER UPDATE
AS
BEGIN
DECLARE @IdProduto INT;
DECLARE @IdEntrada INT;
SELECT @IdProduto=IdProduto, @IdEntrada=IdEntrada FROM inserted
END
37
Cpia total ou parcial no autorizada.
4.2.6
USE [PadariaBD]
GO
/****** Object: Trigger [dbo].[TGR_EstoqueEntrada_AD]
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TGR_EstoqueEntrada_AD]
ON [dbo].[Entrada]
AFTER DELETE
AS
BEGIN
DECLARE @IdProduto INT;
DECLARE @IdEntrada INT;
SELECT @IdProduto=IdProduto, @IdEntrada=IdEntrada FROM deleted
END
4.2.7
USE [PadariaBD]
GO
/****** Object: Trigger [dbo].[TGR_EstoqueSaida_AI]
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TGR_EstoqueSaida_AI]
ON [dbo].[Saida]
AFTER INSERT
AS
BEGIN
DECLARE @IdProduto INT;
DECLARE @IdSaida INT;
SELECT @IdProduto=IdProduto, @IdSaida=IdSaida FROM inserted
EXECUTE sp_Estoque_Saida @IdProduto, @IdSaida
END
Cdigo 15: Trigger alimenta estoque ao dar sada no produto
38
Cpia total ou parcial no autorizada.
4.2.8
USE [PadariaBD]
GO
/****** Object: Trigger [dbo].[TGR_EstoqueSaida_AU]
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TGR_EstoqueSaida_AU]
ON [dbo].[Saida]
AFTER UPDATE
AS
BEGIN
DECLARE @IdProduto INT;
DECLARE @IdSaida INT;
SELECT @IdProduto=IdProduto, @IdSaida=IdSaida FROM inserted
END
39
Cpia total ou parcial no autorizada.
4.2.9
USE [PadariaBD]
GO
/****** Object: Trigger [dbo].[TGR_EstoqueSaida_AD]
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TGR_EstoqueSaida_AD]
ON [dbo].[Saida]
AFTER DELETE
AS
BEGIN
DECLARE @IdProduto INT;
DECLARE @IdSaida INT;
SELECT @IdProduto=IdProduto, @IdSaida=IdSaida FROM deleted
END
40
Cpia total ou parcial no autorizada.
5. CONCLUSO
41
Cpia total ou parcial no autorizada.
6. REFERNCIAS
RAMAKRISHNAN, Raghu; GEHRKE, Johannes. Sistemas de gerenciamento de banco de
dados. 3. ed. Porto Alegre: Mcgraw Hill Brasil, 2008. 891 p.
SILBERSCHATZ, Abraham. Sistemas de Banco de Dados. Rio de Janeiro: Elsevier, 2012. 861p.
42
Cpia total ou parcial no autorizada.