Você está na página 1de 24

Centro Universitrio Anhanguera So Paulo

Campus Vila Mariana

Programao em Banco de Dados


Atividades Prticas Supervisionadas

MARILENE PEREIRA SANTOS RA: 1299163472


DANIEL MACHADO BARBOSA ALEXANDRE RA: 7414628326
WILLIAM SILVA DE JESUS RA: 7415631486
MATHEUS DE SANTANA MONTEIRO RA: 7629722343

So Paulo
2014
0

Centro Universitrio Anhanguera So Paulo


Campus Vila Mariana

MARILENE PEREIRA SANTOS


DANIEL MACHADO BARBOSA ALEXANDRE
WILLIAM SILVA DE JESUS
MATHEUS DE SANTANA MONTEIRO

Trabalho desenvolvido sobre a qualidade de


Atividade Prtica Supervisionada, como
concluso do 3 Semestre do Curso:
Tecnologia em Anlise e Desenvolvimento
de Sistemas, desta Unidade, apresentada ao
Professor Thiago Merli, sobre a Matria de
Programao em Banco de Dados

So Paulo
2014
1

INTRODUO
A atividade a seguir foi desenvolvida, afim de explorar os conhecimentos
adquiridos durante o semestre, sob o carter de atividade prtica, utilizando
todos os conceitos de criao, modelagem, manuteno e administrao de
Banco de Dados Relacional.
Neste documento estaro dispostos os dados sobre os processos de
criao, desenvolvimento de programao avanada (trigger e procedure),
alimentao e testes do mesmo, assim como a query Script de Criao do
Banco de Dados PadariaSonhoMeu.
As informaes aqui dispostas so as finais consolidadas atravs do
desenvolvimento do Projeto com atualizao posterior se necessrio, visto a
necessidade de criao de uma Aplicao Comercial.

SUMRIO
INTRODUO......................................................................................................... 2
SUMRIO................................................................................................................ 3
ETAPA 3................................................................................................................... 4
1. Relatrio 03: Cdigos do BD..................................................................................4
1. 1. Create Database............................................................................................. 4
1. 2. Create Table.................................................................................................. 4
1. 3. Create Trigger............................................................................................... 7
1. 4. Create Procedure.......................................................................................... 14
1. 5. Insert Alimentao........................................................................................ 19
1. 6. Execute Procedure........................................................................................ 20
CONCLUSO......................................................................................................... 22
BIBLIOGRAFIA..................................................................................................... 23

ETAPA 3
Passo 3
1. Relatrio 03: Cdigos do BD.
1. 1. Create Database
CREATE DATABASE PadariaSonhoMeu;
GO

1. 2. Create Table
USE PadariaSonhoMeu;
GO
CREATE TABLE NivelAcesso (
CodNivelAcesso INTEGER IDENTITY NOT NULL,
DescNivelAcesso VARCHAR(20) NOT NULL,
CONSTRAINT pkNivelAcesso PRIMARY KEY (CodNivelAcesso)
);
CREATE TABLE TipoMovimentacao (
TipoMovimento CHAR(1) NOT NULL,
DescTipoMovimento VARCHAR(20) NOT NULL,
CONSTRAINT pkTipoMovimentacao PRIMARY KEY (TipoMovimento)
);
CREATE TABLE Fornecedor (
CodFornecedor INTEGER IDENTITY(1,1) NOT NULL,
NomeFornecedor VARCHAR(50) NOT NULL,
CPF_CNPJFornecedor VARCHAR(15) NOT NULL,
EndFornecedor VARCHAR(30),
NumEndFornecedor INTEGER,
FoneFornecedor NUMERIC(9,0)
CONSTRAINT pkFornecedor PRIMARY KEY (CodFornecedor)
);
CREATE TABLE Entrada (
NumEntrada INTEGER IDENTITY(1,1) NOT NULL,
DTEntrada DATE DEFAULT GETDATE(),
HREntrada TIME DEFAULT GETDATE(),
VLTotalEntrada NUMERIC(11,4) NOT NULL,
CodFornecedor INTEGER NOT NULL,
TipoMovimento CHAR(1) DEFAULT 'E',
CONSTRAINT pkEntrada PRIMARY KEY (NumEntrada),
4

CONSTRAINT fkEtradaTipoMovimentacao FOREIGN KEY(TipoMovimento) REFERENCES


TipoMovimentacao (TipoMovimento),
CONSTRAINT fkEtradaFornecedor FOREIGN KEY(CodFornecedor) REFERENCES Fornecedor
(CodFornecedor)
);
CREATE TABLE Usuario (
CodUsuario INTEGER IDENTITY(1,1) NOT NULL,
NomeUsuario VARCHAR(50) NOT NULL,
CodNivelAcesso INTEGER NOT NULL,
SenhaAcesso VARCHAR(8) NOT NULL,
CONSTRAINT pkUsuario PRIMARY KEY (CodUsuario),
CONSTRAINT fkUsuarioNivelAcesso FOREIGN KEY(CodNivelAcesso) REFERENCES
NivelAcesso (CodNivelAcesso)
);
CREATE TABLE Caixa (
NumCaixa INTEGER IDENTITY(1,1) NOT NULL,
DTAbertura DATE DEFAULT GETDATE(),
DTFechamento DATE,
VLAbertura NUMERIC(11,4) NOT NULL,
VLFechamento NUMERIC(11,4),
TipoMovimento CHAR(1) DEFAULT 'C',
CONSTRAINT pkCaixa PRIMARY KEY (NumCaixa),
CONSTRAINT fkCaixaTipoMovimentacao FOREIGN KEY(TipoMovimento) REFERENCES
TipoMovimentacao (TipoMovimento)
);
CREATE TABLE Sangria (
NumSangria INTEGER IDENTITY(1,1) NOT NULL,
DescSangria VARCHAR(30) NOT NULL,
TipoSangria CHAR(1) DEFAULT 'S',
DataSangria DATETIME DEFAULT GETDATE(),
VLSangria NUMERIC(11,4) NOT NULL,
NumCaixa INTEGER NOT NULL,
CONSTRAINT pkSangria PRIMARY KEY (NumSangria),
CONSTRAINT fkSangriaCaixa FOREIGN KEY (NumCaixa) REFERENCES Caixa (NumCaixa)
);
CREATE TABLE Saida (
NumSaida INTEGER IDENTITY(1,1) NOT NULL,
DTSaida DATE DEFAULT GETDATE(),
HRSaida TIME DEFAULT GETDATE(),
VLTotalSaida NUMERIC(11,4) NOT NULL,
NumCaixa INTEGER NOT NULL,
TipoMovimento CHAR(1) DEFAULT 'S',
CONSTRAINT pkSaida PRIMARY KEY (NumSaida),
CONSTRAINT fkSaidaCaixa FOREIGN KEY (NumCaixa) REFERENCES Caixa (NumCaixa),
CONSTRAINT fkSaidaTipoMovimentacao FOREIGN KEY (TipoMovimento) REFERENCES
TipoMovimentacao (TipoMovimento)
);

CREATE TABLE Produto (


5

CodProduto INTEGER IDENTITY(1,1) NOT NULL,


DescProduto VARCHAR(40) NOT NULL,
QTDProduto NUMERIC(11,4) DEFAULT 0,
UNProduto VARCHAR(4) NOT NULL,
VLProdCusto NUMERIC(11,4) NOT NULL,
VLProdVenda NUMERIC(11,4) NOT NULL,
CodFornecedor INTEGER NOT NULL,
CONSTRAINT pkProduto PRIMARY KEY (CodProduto),
CONSTRAINT fkProdutoFornecedor FOREIGN KEY(CodFornecedor) REFERENCES Fornecedor
(CodFornecedor)
);
CREATE TABLE ProdutosEntrada (
CodProduto INTEGER NOT NULL,
NumEntrada INTEGER NOT NULL,
QTDProduto NUMERIC(11,4) NOT NULL,
VLProdUnitario NUMERIC(11,4) NOT NULL,
VLProdTotal NUMERIC(11,4) NOT NULL,
CONSTRAINT pkProdutosEntrada PRIMARY KEY(CodProduto,NumEntrada),
CONSTRAINT fkProdutosEntradaProduto FOREIGN KEY(CodProduto) REFERENCES Produto
(CodProduto),
CONSTRAINT fkProdutosEntradaEntrada FOREIGN KEY(NumEntrada) REFERENCES Entrada
(NumEntrada)
);
CREATE TABLE ProdutosSaida (
CodProduto INTEGER NOT NULL,
NumSaida INTEGER NOT NULL,
QTDProduto NUMERIC(11,4) NOT NULL,
VLProdUnitario NUMERIC(11,4) NOT NULL,
VLProdTotal NUMERIC(11,4) NOT NULL,
CONSTRAINT pkProdutosSaida PRIMARY KEY(CodProduto,NumSaida),
CONSTRAINT fkProdutosSaidaProduto FOREIGN KEY(CodProduto) REFERENCES Produto
(CodProduto),
CONSTRAINT fkProdutosSaidaSaida FOREIGN KEY(NumSaida) REFERENCES Saida
(NumSaida)
);
CREATE TABLE Movimentacao (
NumMovimentacao INTEGER NOT NULL,
DTMovimentacao DATE NOT NULL,
HRMovimentacao TIME NOT NULL,
VLTotalMovimentacao DECIMAL(11,4),
Movimento CHAR(1) NOT NULL,
TipoMovimento CHAR(1) NOT NULL,
CONSTRAINT pkMovimentaao PRIMARY KEY (NumMovimentacao,TipoMovimento, Movimento),
CONSTRAINT fkMovimentacaoTipoMovimentacao FOREIGN KEY(TipoMovimento)
REFERENCES TipoMovimentacao (TipoMovimento)
);

1. 3. Create Trigger
USE PadariaSonhoMeu;
GO

//TABELA Entrada
CREATE TRIGGER tr_Entrada
ON Entrada
FOR INSERT, UPDATE
AS
DECLARE
@NUM INTEGER,
@DATA DATE,
@HORA TIME,
@VALOR NUMERIC(11,4),
@TIPO CHAR(1)
SELECT
@NUM = NumEntrada,
@DATA = DTEntrada,
@HORA = GETDATE(),
@VALOR = VLTotalEntrada,
@TIPO = TipoMovimento
FROM INSERTED
IF EXISTS (SELECT NumMovimentacao
FROM Movimentacao
WHERE NumMovimentacao = @NUM AND TipoMovimento = @TIPO)
UPDATE Movimentacao
SET VLTotalMovimentacao = @VALOR,
HRMovimentacao = @HORA
WHERE NumMovimentacao = @NUM AND TipoMovimento = @TIPO
ELSE
INSERT INTO Movimentacao (NumMovimentacao, DTMovimentacao, HRMovimentacao,
VLTotalMovimentacao, TipoMovimento, Movimento)
VALUES (@NUM, @DATA, @HORA, @VALOR, @TIPO, 'I')
GO

//TABELA Saida
CREATE TRIGGER tr_Saida
ON Saida
FOR INSERT, UPDATE
AS
DECLARE
@NUM INTEGER,
@DATA DATE,
@HORA TIME,
@VALOR NUMERIC(11,4),
@TIPO CHAR(1)
SELECT
@NUM = NumSaida,
@DATA = DTSaida,
@HORA = HRSaida,
@VALOR = VLTotalSaida,
@TIPO = TipoMovimento
FROM INSERTED
IF EXISTS (SELECT NumMovimentacao
FROM Movimentacao
WHERE NumMovimentacao = @NUM AND TipoMovimento = @TIPO)
UPDATE Movimentacao
SET VLTotalMovimentacao = @VALOR,
HRMovimentacao = @HORA
WHERE NumMovimentacao = @NUM AND TipoMovimento = @TIPO
ELSE
INSERT INTO Movimentacao (NumMovimentacao, DTMovimentacao, HRMovimentacao,
VLTotalMovimentacao, TipoMovimento, Movimento)
VALUES (@NUM, @DATA, @HORA, @VALOR, @TIPO, 'I')
GO

//TABELA Caixa (abertura)


CREATE TRIGGER tr_CaixaAbertura
ON Caixa
FOR INSERT
AS
DECLARE
@NUM INTEGER,
@DATA DATE,
@HORA TIME,
@VALOR NUMERIC(11,4),
@TIPO CHAR(1)
SELECT
@NUM = NumCaixa,
@DATA = GETDATE(),
@HORA = GETDATE(),
@VALOR = VLAbertura,
@TIPO = TipoMovimento
FROM INSERTED
IF EXISTS (SELECT NumMovimentacao
FROM Movimentacao
WHERE NumMovimentacao = @NUM AND TipoMovimento = @TIPO
AND HRMovimentacao = @HORA)
UPDATE Movimentacao
SET VLTotalMovimentacao = (VLTotalMovimentacao + @VALOR)
WHERE NumMovimentacao = @NUM AND TipoMovimento = @TIPO AND
HRMovimentacao = @HORA
ELSE
INSERT INTO Movimentacao (NumMovimentacao, DTMovimentacao, HRMovimentacao,
VLTotalMovimentacao, TipoMovimento, Movimento)
VALUES (@NUM, @DATA, @HORA, @VALOR, @TIPO, 'A')
GO

//TABELA Caixa (fechamento)


CREATE TRIGGER tr_CaixaFechamento
ON Caixa
FOR UPDATE
AS
DECLARE
@NUM INTEGER,
@DATA DATE,
@HORA TIME,
@VALOR NUMERIC(11,4),
@TIPO CHAR(1)
SELECT
@NUM = NumCaixa,
@DATA = GETDATE(),
@HORA = GETDATE(),
@VALOR = VLFechamento,
@TIPO = TipoMovimento
FROM INSERTED
IF EXISTS (SELECT NumMovimentacao
FROM Movimentacao
WHERE NumMovimentacao = @NUM AND TipoMovimento = @TIPO
AND HRMovimentacao = @HORA)
UPDATE Movimentacao
SET VLTotalMovimentacao = (VLTotalMovimentacao + @VALOR)
WHERE NumMovimentacao = @NUM AND TipoMovimento = @TIPO AND
HRMovimentacao = @HORA
ELSE
IF EXISTS (SELECT NumMovimentacao
FROM Movimentacao
WHERE NumMovimentacao = @NUM AND TipoMovimento = @TIPO)
INSERT INTO Movimentacao (NumMovimentacao, DTMovimentacao, HRMovimentacao,
VLTotalMovimentacao, TipoMovimento, Movimento)
VALUES (@NUM, @DATA, @HORA, @VALOR, @TIPO, 'F');
ELSE
PRINT N'NO POSSIVEL FECHAR UM CAIXA QUE NO EST ABERTO'
GO

10

//TABELA ProdutosEntrada
CREATE TRIGGER tr_EntradaProduto
ON ProdutosEntrada
FOR INSERT, UPDATE
AS
DECLARE
@PRODUTO INT,
@NUM INT,
@QTD NUMERIC(11,4),
@VALORUN NUMERIC(11,4),
@VALORTOTAL NUMERIC(11,4)
SELECT
@PRODUTO = CodProduto,
@NUM = NumEntrada,
@QTD = QTDProduto,
@VALORUN = VLProdUnitario,
@VALORTOTAL = VLProdTotal
FROM INSERTED
UPDATE Entrada
SET VLTotalEntrada = (SELECT SUM(VLProdTotal) FROM ProdutosEntrada WHERE
NumEntrada = @NUM)
WHERE NumEntrada = @NUM;
UPDATE Produto
SET QTDProduto = (QTDProduto + @QTD),
VLProdCusto = @VALORUN
WHERE CodProduto = @PRODUTO
GO

11

//TABELA ProdutosSaida
CREATE TRIGGER tr_SaidaProduto
ON ProdutosSaida
FOR INSERT, UPDATE
AS
DECLARE
@PRODUTO INT,
@NUM INT,
@QTD NUMERIC(11,4),
@VALORUN NUMERIC(11,4),
@VALORTOTAL NUMERIC(11,4)
SELECT
@PRODUTO = CodProduto,
@NUM = NumSaida,
@QTD = QTDProduto,
@VALORUN = VLProdUnitario,
@VALORTOTAL = VLProdTotal
FROM INSERTED
UPDATE Saida
SET VLTotalSaida = (SELECT SUM(VLProdTotal) FROM ProdutosSaida WHERE
NumSaida = @NUM)
WHERE NumSaida = @NUM;
UPDATE Produto
SET QTDProduto = (QTDProduto - @QTD)
WHERE CodProduto = @PRODUTO
GO

12

//TABELA ProdutosEntrada (controle)


CREATE TRIGGER tr_ControleEntrada
ON ProdutosEntrada
FOR INSERT, UPDATE
AS
DECLARE
@PRODUTO INT
SELECT
@PRODUTO = (SELECT CodProduto
FROM INSERTED)
IF (SELECT QTDProduto FROM Produto WHERE CodProduto = @PRODUTO) < 5
PRINT 'O NIVEL DE ESTOQUE DO PRODUTO ' + CONVERT(VARCHAR(7),
FORMAT(@PRODUTO, '000"."000'))
+ ' EST MUITO BAIXO'
ELSE
IF (SELECT QTDProduto FROM Produto WHERE CodProduto = @PRODUTO) > 300
PRINT 'O NIVEL DE ESTOQUE DO PRODUTO ' + CONVERT(VARCHAR(7),
FORMAT(@PRODUTO, '000"."000'))
+ ' EST MUITO ALTA'
GO

//TABELA ProdutosSaida (controle)


CREATE TRIGGER tr_ControleSaida
ON ProdutosSaida
FOR INSERT, UPDATE
AS
DECLARE
@PRODUTO INT
SELECT
@PRODUTO = (SELECT CodProduto
FROM INSERTED)
IF (SELECT QTDProduto FROM Produto WHERE CodProduto = @PRODUTO) < 5
PRINT 'O NIVEL DE ESTOQUE DO PRODUTO ' + CONVERT(VARCHAR(7),
FORMAT(@PRODUTO, '000"."000'))
+ ' EST MUITO BAIXO'
GO

13

1. 4. Create Procedure
USE PadariaSonhoMeu;
GO

//PROCEDURE inserirFornecedor TABELA Fornecedor


CREATE PROCEDURE sp_insertFornecedor
@NOME VARCHAR(50),
@CPF_CNPJ VARCHAR(15),
@ENDERECO VARCHAR(30),
@NUMERO INT,
@FONE NUMERIC(9,0)
AS
INSERT INTO Fornecedor (NomeFornecedor, CPF_CNPJFornecedor, EndFornecedor,
NumEndFornecedor, FoneFornecedor)
VALUES (@NOME, @CPF_CNPJ, @ENDERECO, @NUMERO, @FONE);
GO

//PROCEDURE inserirProduto TABELA Produto


CREATE PROCEDURE sp_insertProduto
@DESCRICAO VARCHAR(40),
@QTD NUMERIC(11,4),
@UN VARCHAR(4),
@VLCUSTO NUMERIC(11,4),
@VLVENDA NUMERIC(11,4),
@FORNECEDOR INT
AS
INSERT INTO Produto (DescProduto, QTDProduto, UNProduto, VLProdCusto, VLProdVenda,
CodFornecedor)
VALUES (@DESCRICAO, @QTD, @UN, @VLCUSTO, @VLVENDA,
@FORNECEDOR);
GO

14

//PROCEDURE inserirEntrada TABELA Entrada


CREATE PROCEDURE sp_insertEntrada
@FORNECEDOR INT
AS
DECLARE
@DATA DATE,
@HORA TIME
SELECT
@DATA = GETDATE(),
@HORA = GETDATE()
INSERT INTO Entrada (DTEntrada, HREntrada, VLTotalEntrada, CodFornecedor)
VALUES (@DATA, @HORA, 0, @FORNECEDOR);
GO

//PROCEDURE inserirSaida TABELA Saida


CREATE PROCEDURE sp_insertSaida
@CAIXA INT
AS
DECLARE
@DATA DATE,
@HORA TIME
SELECT
@DATA = GETDATE(),
@HORA = GETDATE()
IF (SELECT DTFechamento FROM Caixa WHERE NumCaixa = @CAIXA) IS NULL
INSERT INTO Saida (DTSaida, HRSaida, VLTotalSaida, NumCaixa)
VALUES (@DATA, @HORA, 0, @CAIXA);
IF (SELECT DTFechamento FROM Caixa WHERE NumCaixa = @CAIXA) IS NOT NULL
PRINT N'NO POSSIVEL INSERIR SAIDA EM UM CAIXA FECHADO'
GO

15

//PROCEDURE inserirProdutosEntrada TABELA ProdutosEntrada


CREATE PROCEDURE sp_insertProdutosEntrada
@PRODUTO INT,
@NUMENTRADA INT,
@QTD INT,
@VALORUN NUMERIC(11,4)
AS
IF @PRODUTO IN (SELECT CodProduto FROM ProdutosEntrada WHERE CodProduto =
@PRODUTO AND NumEntrada = @NUMENTRADA)
UPDATE ProdutosEntrada
SET QTDProduto = (QTDProduto + @QTD),
VLProdUnitario = @VALORUN,
VLProdTotal = (VLProdTotal + (@QTD * @VALORUN))
WHERE CodProduto = @PRODUTO AND NumEntrada = @NUMENTRADA
ELSE
INSERT INTO ProdutosEntrada (CodProduto, NumEntrada, QTDProduto, VLProdUnitario,
VLProdTotal)
VALUES (@PRODUTO, @NUMENTRADA, @QTD, @VALORUN, (@QTD *
@VALORUN));
GO

//PROCEDURE inserirProdutosSaida TABELA ProdutosSaida


CREATE PROCEDURE sp_insertProdutosSaida
@PRODUTO INT,
@NUMSAIDA INT,
@QTD INT,
@VALORUN NUMERIC(11,4)
AS
IF @PRODUTO IN (SELECT CodProduto FROM ProdutosSaida WHERE CodProduto =
@PRODUTO AND NumSaida = @NUMSAIDA)
UPDATE ProdutosSaida
SET QTDProduto = (QTDProduto + @QTD),
VLProdUnitario = @VALORUN,
VLProdTotal = (VLProdTotal + (@QTD * @VALORUN))
WHERE CodProduto = @PRODUTO AND NumSaida = @NUMSAIDA
ELSE
INSERT INTO ProdutosSaida (CodProduto, NumSaida, QTDProduto, VLProdUnitario, VLProdTotal)
VALUES (@PRODUTO, @NUMSAIDA, @QTD, @VALORUN, (@QTD * @VALORUN));
GO

16

//PROCEDURE AbreCaixa TABELA Caixa


CREATE PROCEDURE sp_AbreCaixa
@VALOR NUMERIC(11,4)
AS
DECLARE
@DATE DATE
SELECT
@DATE = GETDATE()
INSERT INTO Caixa (DTAbertura, VLAbertura)
VALUES (@DATE, @VALOR);
GO

//PROCEDURE FechaCaixa TABELA Caixa


CREATE PROCEDURE sp_FechaCaixa
@VALOR NUMERIC(11,4),
@NUM INT
AS
DECLARE
@DATE DATE
SELECT
@DATE = GETDATE()
UPDATE Caixa
SET DTFechamento = @DATE,
VLFechamento = @VALOR
WHERE NumCaixa = @NUM;
GO

17

//PROCEDURE inserirSangria TABELA Sangria


CREATE PROCEDURE sp_insertSangria
@DESCRICAO VARCHAR(30),
@VALOR NUMERIC(11,4),
@CAIXA INT
AS
DECLARE
@DATE DATE,
@TIPO CHAR(1)
SELECT
@DATE = GETDATE()
IF (@VALOR < 0)
SELECT
@TIPO = 'S'
ELSE
SELECT
@TIPO = 'E'
IF (SELECT DTFechamento FROM Caixa WHERE NumCaixa = @CAIXA) IS NULL
INSERT INTO Sangria (NumCaixa, DescSangria, TipoSangria, DataSangria, VLSangria)
VALUES (@CAIXA, @DESCRICAO, @TIPO, @DATE, @VALOR);
ELSE
PRINT N'NO POSSIVEL INSERIR SANGRIA EM UM CAIXA FECHADO'
GO

//PROCEDURE selectProdutos TABELA Produtos


CREATE PROCEDURE sp_selectProdutos
AS
SELECT CodProd, DescProduto, QTDProduto, UNProduto, VLProdCusto, (QTDProduto *
VLProdCusto) AS TOTAL_CUSTO,
VLProdVenda, (QTDProduto * VLProdVenda ) AS TOTAL_VENDA,
Produto.CodFornecedor, Fornecedor.NomeFornecedor
FROM Produto
INNER JOIN Fornecedor ON Produto.CodFornecedor = Fornecedor.CodFornecedor
ORDER BY DescProduto ASC

18

1. 5. Insert Alimentao
USE PadariaSonhoMeu;
GO
--TABELA FORNECEDOR
INSERT INTO Fornecedor (NomeFornecedor, CPF_CNPJFornecedor, EndFornecedor,
NumEndFornecedor, FoneFornecedor)
VALUES ('Dona Benta', '00000000000110', 'Av do Trigo', 100, 123456789);
INSERT INTO Fornecedor (NomeFornecedor, CPF_CNPJFornecedor, EndFornecedor,
NumEndFornecedor, FoneFornecedor)
VALUES ('Parmalat', '00000000000220', 'Rua das Vacas', 200, 123456789);
INSERT INTO Fornecedor (NomeFornecedor, CPF_CNPJFornecedor, EndFornecedor,
NumEndFornecedor, FoneFornecedor)
VALUES ('Granja Galinha', '00000000000330', 'Travessa Galinha', 300, 123456789);
INSERT INTO Fornecedor (NomeFornecedor, CPF_CNPJFornecedor, EndFornecedor,
NumEndFornecedor, FoneFornecedor)
VALUES ('Unio', '00000000000440', 'Viela dos Doces', 400, 123456789);
--TABELA PRODUTO
INSERT INTO Produto (DescProduto, QTDProduto, UNProduto, VLProdCusto, VLProdVenda,
CodFornecedor)
VALUES ('Farinha de Trigo', 0, 'pct', 1.00, 2.00, 1);
INSERT INTO Produto (DescProduto, QTDProduto, UNProduto, VLProdCusto, VLProdVenda,
CodFornecedor)
VALUES ('Leite Unidade', 0, 'un', 1.00, 2.00, 2);
INSERT INTO Produto (DescProduto, QTDProduto, UNProduto, VLProdCusto, VLProdVenda,
CodFornecedor)
VALUES ('Leite Caixa 12', 0, 'cx', 11.00, 22.00, 2);
INSERT INTO Produto (DescProduto, QTDProduto, UNProduto, VLProdCusto, VLProdVenda,
CodFornecedor)
VALUES ('Ovo Unidade', 0, 'un', 0.15, 0.25, 3);
INSERT INTO Produto (DescProduto, QTDProduto, UNProduto, VLProdCusto, VLProdVenda,
CodFornecedor)
VALUES ('Aucar Unidade', 0, 'un', 1.20, 2.40, 4);
--TABELA TIPO DE MOVIMENTAO
INSERT INTO TipoMovimentacao (TipoMovimento, DescTipoMovimento) VALUES ('C', 'Caixa');
INSERT INTO TipoMovimentacao (TipoMovimento, DescTipoMovimento) VALUES ('E', 'Entrada');
INSERT INTO TipoMovimentacao (TipoMovimento, DescTipoMovimento) VALUES ('S', 'Saida');
--TABELA NIVEL DE ACESSO
INSERT INTO NivelAcesso (DescNivelAcesso) VALUES ('Administrador');
INSERT INTO NivelAcesso (DescNivelAcesso) VALUES ('Gerente');
INSERT INTO NivelAcesso (DescNivelAcesso) VALUES ('Atendente');
--TABELA USUARIO
INSERT INTO Usuario (NomeUsuario, SenhaAcesso, CodNivelAcesso) VALUES ('william', 'admin',
1);
INSERT INTO Usuario (NomeUsuario, SenhaAcesso, CodNivelAcesso) VALUES ('daniel', 'gerente',
2);
INSERT INTO Usuario (NomeUsuario, SenhaAcesso, CodNivelAcesso) VALUES ('matheus', 'super',
3);
INSERT INTO Usuario (NomeUsuario, SenhaAcesso, CodNivelAcesso) VALUES ('mari', 'atend', 3);
19

1. 6. Execute Procedure
USE PadariaSonhoMeu;
GO
/* ADICIONAR UM FORNECEDOR */
-- sp_insertFornecedor @NOME, @CPF_CNPJ, @ENDERECO, @NUMERO, @FONE -EXECUTE sp_insertFornecedor 'Fornecedor', '000000000000550', 'Rua Nova', 100, 26966969
SELECT * FROM Fornecedor
/* ADICIONAR UM PRODUTO DE UM FORNECEDOR */
-- sp_insertProduto @DESC, @QTD, @UN, @VLCUSTO, @VLVENDA, @FORNECEDOR -EXECUTE sp_insertProduto 'Produto do Fornecedor', 0, 'UN', 0.00, 0.00, 5
SELECT * FROM Produto
/* ABRIR CAIXA */
-- sp_AbreCaixa @VALOR -EXECUTE sp_AbreCaixa 1.0
SELECT * FROM Caixa
SELECT * FROM Movimentacao
/* LANAR SANGRIA NO CAIXA */
-- sp_insertSangria @DESCRICAO, @VALOR, @NUMCAIXA -EXECUTE sp_insertSangria 'GASTOS', 1.5, 1 --ENTRADA DE DINHEIRO
EXECUTE sp_insertSangria 'GASTOS', -1.5, 1 --SAIDA DE DINHEIRO
SELECT * FROM Sangria
/* FECHAR CAIXA */
-- sp_FechaCaixa @VALOR, @NUMCAIXA -EXECUTE sp_FechaCaixa 10.0, 1
SELECT * FROM Caixa
SELECT * FROM Movimentacao
/* CRIAR UMA ENTRADA */
-- sp_insertEntrada @NUMFORNECEDOR
EXECUTE sp_insertEntrada 1
SELECT * FROM Entrada
SELECT * FROM Movimentacao
/* INSERE PRODUTOS EM UMA ENTRADA */
-- sp_insertProdutosEntrada @PRODUTO, @NUMENTRADA, @QTD, @VALORUN
EXECUTE sp_insertProdutosEntrada 1, 1, 2, 1.5
SELECT * FROM Produto
SELECT * FROM ProdutosEntrada
SELECT * FROM Entrada
SELECT * FROM Movimentacao
20

/* CRIAR UMA SAIDA */


-- sp_insertSaida @NUMCAIXA
EXECUTE sp_insertSaida 2
SELECT * FROM Saida
SELECT * FROM Movimentacao
/* INSERE PRODUTOS EM UMA SAIDA */
-- sp_insertProdutosEntrada @PRODUTO, @NUMSAIDA, @QTD, @VALORUN
EXECUTE sp_insertProdutosSaida 5, 1, 2, 1.5
SELECT * FROM Produto
SELECT * FROM ProdutosSaida
SELECT * FROM Saida
SELECT * FROM Movimentacao
/* SELECIONAR TODOS OS PRODUTOS ORDENANDO POR NOME DE PRODUTO
EXIBINDO O FORNECEDOR */
EXECUTE sp_selectProdutos

21

CONCLUSO
Foram encontrados diversos empecilhos em meio ao desenvolvimento deste Trabalho,
porm com muito esforo e dedicao conseguimos conclui-lo, deste Material tiramos todos
os conceitos de Criao e Manipulao (dados) de Banco de Dados, juntamente com as suas
peculiaridades, informaes que nos auxiliaram no s neste mais em outros trabalhos
desenvolvidos neste Semestre, deste modo conclumos dizendo que o Material se tornou de
certa forma um manual para andamento de nosso aprendizado, junto ao curso.

22

BIBLIOGRAFIA
Silberschatz, Abraham; Korth, Henry F.; Sudarshan, S.. Sistema de Banco de Dados. 6. ed.
Elsevier Campus, 2012.
Heuser, Carlos Alberto. Projeto de Banco de Dados. 4. ed. Sagra&Luzzatto, Porto Alegre,
1999.
Banco
de
Dados
Projeto
e
Programao.
em<http://www.google.com.br/#q=Banco+de+Dados+Projeto+e+Programa
%C3%A7%C3%A3o> Acesso entre. 10/09/2014 e 10/11/2014.

Disponvel

23