Você está na página 1de 2

UNIFEI

Universidade Federal de Itajub


Instituto de Engenharia de Sistemas e Tecnologias da Informao-IESTI
5o Laboratrio de Banco de Dados Prof. Enzo Seraphim

Uma rede de papelaria possui uma matriz e vrias filiais. Clientes que podem comprar produtos em qualquer uma de suas
lojas. Em cada compra feita uma nota fiscal onde so descriminados os produtos. Para validar a compra verificado a
existncia do produto no estoque. No final do ms fechada a fatura, que a soma de todas as compras do cliente e
enviado para pagamento at o dia 10 de cada ms. Abaixo segue o ME-R e o mapeamento para o relacional:
N

Paga

Fatura

Compe

N
1

Cliente

Compra

Nota
Fiscal

Contm
ItemNF

Produto

Loja
Cliente
Loja
Fatura
NotaFiscal
Produto
ItemNF

Pertence

= { CodCliente, Nome, Endereco, Cidade, Telefone, CGCCliente, Contato }


= { CodLoja, Nome, Endereco, Cidade, CGCLoja }
= { NumFatura, DataVencimento, DataPagamento, CodCliente (Cliente. CodCliente), ValorTotal }
= { NumNFiscal, Data, CodCliente (Cliente. CodCliente), CodLoja(Loja. CodLoja),
NumFatura(Fatura.NumFatura), ValorTotal}
= { CodProduto, Descricao, ValorVenda, ValorCompra, Unidade, QuantEstoque }
= { NumNFiscal(NotaFical.NumNFiscal), CodProduto(Produto.CodProduto), Quant, ValorUnidCusto,
ValorUnidVenda}

Em algumas tabelas formam feitas desnormalizaes para auxiliar as tarefas de pesquisa sobre o gerenciador::
Tabela Fatura, campo ValorTotal o resultado da soma de todas as notas fiscais que pertena a fatura.
Tabela NotaFical, campo ValorTotal o resultado da soma de todos os ItemNotaFiscal pertena a NotaFiscal.
Toda vez que for inserido um registro em ItemNotaFiscal trazer o ValorCusto e ValorVenda.
Toda vez que um ItemNotaFiscal for incluido, alterado ou excludo seje atualizado a QuatEstoque da tabela
Produto e no permita a incluso ou alterao de um itemNotaFical quando no existe o produto no estoque.
1) Criar a base de dados no interbase, as tabelas com respectivas chaves, chaves estrangeiras e ndices. Deve tambm criar
procedure e triggers para garantir item 1 e 2. Cria uma procedure chamada PROC_REAJUSTE para calcular o
ValorVenda na tabela produto, que ter um parmentro porcentagem de reajuste sobre ValorCompra. Cadastrar os dados
para cada tabela.
2) Comandos SQL para as seguintes pesquisas:
a) Todos Nomes e Telefones de clientes da cidade de So Carlos - SP
b) Quais Nomes e Telefones de clientes que compram na loja 2
c) Todas as DataVencimento de faturas e Nomes de clientes que as faturas venceram at 30/04/1999.
d) Nome e Telefone dos clientes que compraram no perodo de 20/05/1999 30/05/1999.
e) Nome do cliente, Descricao do produto, Quant, ValorUnidVenda de ItemNotaFiscal, Valor Total Venda de
ItemNotaFiscal (Quant * ValorUnidVenda) do cliente 111 em ordem de Descricao do produto.
f) Qual o Nome da Loja que mais vendeu no perodo de 20/05/1999 30/05/1999.
g) Qual a Descricao do produto que mais vendeu no perodo de 20/05/1999 30/05/1999.
h) Qual o Nome do cliente que mais comprou no perodo de 20/05/1999 30/05/1999.
i) Quantas faturas no tinham sido pagas at 30/04/1999.
j) Valor mdio de compra no perodo de 20/05/1999 30/05/1999.
k) Soma ValorTotal de todas as Faturas.
l) Atualizar DataPagamento da fatura n 045675 com 28/04/1999. Verificar se Item 2 (a) foi realizado.
m) Todas Descricao do produto e soma de valor total de ItemNotaFiscal por produto.
n) Qual o valor de lucro (Valor Total Custo - Valor Total de Venda ) no perodo de 20/05/1999 30/05/1999.

CodCliente
111
112
113
114
115

Nome
Computec Ltda
MicroMdia SA
TecnoCom Ltda
C&P
ProvTecno

CodLoja
1
2
3
4
5

Nome
Papelndia 1
Papelndia 2
Papelndia 3
Papelndia 4
Papelndia 5

NumFatura
045675
045690
045691
045692
045693

NumNFiscal
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151

CodProduto
86477
86478
86479
86480
86481
86482
86483
86484
86485
86486

Cliente
Cidade
So Carlos - SP
So Carlos - SP
Ibat - SP
So Carlos - SP
So Carlos - SP

Endereco
Av.So Carlos, 186
R.Jos Bonifcio, 70
R.Luiz Cames, 120
Av. So Carlos, 176
R.Raul Junior, 180

Loja
Endereco
Av.So Carlos, 870
R. XV Novembro, 121
R. 7 Setembro, 1823
Av. Independncia, 567
R. Tiradentes, 432

DataVencimento
(dd/mm/aaaa)
10/04/1999
10/05/1999
10/05/1999
10/05/1999
10/05/1999

Data
(dd/mm/aaaa)
01/04/1999
10/04/1999
17/05/1999
05/05/1999
22/05/1999
18/05/1999
27/05/1999
01/05/1999
30/05/1999
26/05/1999

111
111
111
111
111
112
112
113
113
115

CodProduto
86477
86486
86479
86480
86484
86478
86480
86483
86481
86482
86485
86477
86483
86479
86480
86482
86483
86482
86480
86486

CGCCliente
123.689.157/0001-89
154.586.524/0001-55
875.684.458/0001-99
352.476.777/0001-43
278.852.468/0001-58

Cidade
So Carlos - SP
So Carlos - SP
So Carlos - SP
So Carlos - SP
So Carlos - SP

Fatura
DataPagamento
(dd/mm/aaaa)

CodCliente

Descricao
Resma papel sufite
Clips n 5
Clips n 10
Grampo para Grampeador
Grampeador
Lapis preto n 5
Caderno 10 matrias 150 fls
Caderno 12 matrias 150 fls
Caneta azul bic
Caneta vermelha bic

NumNFiscal
2142
2142
2143
2143
2144
2144
2145
2146
2146
2146
2147
2147
2148
2148
2149
2149
2149
2150
2151
2151

Telefone
(017) 276-9999
(017) 273-8974
(017) 278-8568
(017) 274-9874
(017) 273-9865

NotaFiscal
CodLoja
1
2
1
1
2
2
5
4
4
5

Produto
ValorVenda
8,00
3,00
5,00
4,00
18,00
0,20
5,50
7,00
0,50
0,50
ItemNotaFiscal
Quant
2
3
12
6
1
2
9
1
3
2
4
8
9
1
2
3
1
4
7
7

Contato
Jos da Silva
Joo da Silva
Antonio Benedito
Lucas Jorge
Carlos Antonio

CGCLoja
232.456.666/0001-89
232.456.666/0002-34
232.456.666/0003-92
232.456.666/0004-22
232.456.666/0005-19

CodCliente

ValorTotal

111
111
112
113
115

<calculado>
<calculado>
<calculado>
<calculado>
<calculado>

NumFatura

ValorTotal

045675
045675
045675
045690
045690
045691
045691
045692
045692
045693

<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>

ValorCompra
4,55
1,76
2,52
1,43
10,50
0,05
2,30
3,81
0,20
0,20

ValorUnidCusto
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>

Unidade
pacote
caixa
caixa
caixa
unidade
unidade
unidade
unidade
unidade
unidade

QuantEstoque
571
424
454
357
54
86
98
75
86
67

ValorUnidVenda
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>
<calculado>