· 8 years ago · Apr 12, 2018, 06:06 PM
1-- BANCO DE DADOS loja
2-- Criação das tabelas
3
4create table clientes (
5 codcliente int primary key,
6 nome varchar(50) not null,
7 endereco varchar(100) not null,
8 tipo_cliente varchar(10),
9 rg varchar(20) not null,
10 cpf varchar(11) not null default 0,
11 cnpj varchar(14) not null default 0,
12 obs varchar(255)
13)
14
15create table fones_clientes (
16 num_telefone varchar(14) primary key,
17 codcliente int references clientes(codcliente)
18)
19
20create table funcionario (
21 codfunc int primary key,
22 nome varchar(50) not null,
23 endereco varchar(100) not null,
24 cpf varchar(11) not null,
25 tipo varchar(10)
26)
27
28create table ordens_servico (
29 numero int primary key,
30 data timestamp not null,
31 valor_total decimal(12,2) not null,
32 status varchar(10),
33 codfunc int references funcionario(codfunc),
34 codcliente int references clientes(codcliente)
35)
36
37create table itens (
38 codigo int primary key,
39 valor decimal(12,2) not null,
40 custo decimal(12,2) not null,
41 descricao varchar(255),
42 desconto decimal(12,2),
43 tipo varchar(10),
44 estoque int not null
45)
46
47create table ordens_itens (
48 sequencial int primary key,
49 desconto decimal(12,2),
50 quantidade int not null,
51 valor decimal(12,2) not null,
52 valor_total decimal(12,2) not null,
53 numero int references ordens_servico(numero),
54 codigo int references itens(codigo)
55)
56
57create table fornecedores (
58 codigo int primary key,
59 descricao varchar(255),
60 endereco varchar(100) not null,
61 contato varchar(14),
62 cnpj varchar(14) not null
63)
64
65create table compras (
66 codigo int primary key,
67 data timestamp not null,
68 valor_total decimal(12,2) not null,
69 numero_nota int,
70 codfornecedor int references fornecedores(codigo)
71)
72
73create table contas_pagar (
74 numero int primary key,
75 num_boleto int,
76 tipo varchar(10),
77 data_vencimento timestamp,
78 data_pagamento timestamp,
79 valor_pago decimal(12,2) not null,
80 valor decimal(12,2) not null,
81 data_lancamento timestamp,
82 desconto decimal(12,2),
83 despesas decimal(12,2),
84 codcompras int references compras(codigo)
85)
86
87create table compras_itens (
88 sequencial int primary key,
89 codcompra int references compras(codigo),
90 coditem int references itens(codigo),
91 desconto decimal(12,2),
92 quantidade int not null,
93 valor decimal(12,2),
94 valor_total decimal(12,2)
95)
96
97create table vendas (
98 codigo int primary key,
99 valor_total_venda decimal(12,2),
100 dt_venda timestamp,
101 condfunc int references funcionario(codfunc),
102 codcliente int references clientes(codcliente),
103 numero int references ordens_servico(numero)
104)
105
106create table venda_itens (
107 sequencial int,
108 codvenda int references vendas(codigo),
109 quantidade int not null,
110 valor decimal(12,2) not null,
111 codigo int references itens(codigo),
112 primary key(sequencial, codvenda)
113)
114
115create table contas_receber (
116 cod int primary key,
117 data_lancamento timestamp,
118 data_vencimento timestamp,
119 valor decimal(12,2),
120 data_pagamento timestamp,
121 valor_pagamento decimal(12,2),
122 codigo_vendas int references vendas(codigo)
123)
124
125create table despesas (
126 codigo int primary key,
127 descricao varchar(255)
128)
129
130-- Alterações chave primaria da tabela fones_clientes
131alter table fones_clientes drop constraint if exists fones_clientes_pkey restrict
132alter table fones_clientes add constraint fones_clientes_pkey primary key (num_telefone, codcliente)
133
134-- Inserções de dados
135
136-- Tabela Clientes
137insert into clientes (codcliente, nome, endereco, tipo_cliente, rg, cpf)
138values (1, 'Ana Clara', 'Rua das Flores, 1000', 'Normal', '11111', '11111111111');
139
140insert into clientes (codcliente, nome, endereco, tipo_cliente, rg, cpf)
141values (2, 'Breno Sousa', 'Rua das Hortencias, 2000', 'Especial', '11112', '11111111112');
142
143insert into clientes (codcliente, nome, endereco, tipo_cliente, rg, cpf)
144values (3, 'Carlos Alberto', 'Rua dos Girassóis, 3000', 'Normal', '11113', '11111111113');
145
146insert into clientes (codcliente, nome, endereco, tipo_cliente, rg, cpf)
147values (4, 'Danilo Alencar', 'Rua das Palmeiras, 4000', 'Especial', '11114', '11111111114');
148
149insert into clientes (codcliente, nome, endereco, tipo_cliente, rg, cpf)
150values (5, 'Elena Pinto', 'Rua dos Galinheiros, 5000', 'Normal', '11115', '11111111115');
151
152insert into clientes (codcliente, nome, endereco, tipo_cliente, rg, cnpj)
153values (6, 'Mercearia do João', 'Rua dos Coelhos, 6000', 'Especial', '0', '11111111111111');
154
155insert into clientes (codcliente, nome, endereco, tipo_cliente, rg, cnpj)
156values (7, 'Lojas Brasil', 'Rua das Vacas, 7000', 'Especial', '0', '11111111111112');
157
158insert into clientes (codcliente, nome, endereco, tipo_cliente, rg, cnpj)
159values (8, 'Camisaria do Antônio', 'Rua das Marmotas, 8000', 'Normal', '0', '11111111111113');
160
161insert into clientes (codcliente, nome, endereco, tipo_cliente, rg, cnpj)
162values (9, 'Hamburgueria Doidera', 'Rua dos Jabutis, 9000', 'Normal', '0', '11111111111114');
163
164insert into clientes (codcliente, nome, endereco, tipo_cliente, rg, cnpj)
165values (10, 'Salão de Beleza Fique Bonitim', 'Rua dos Flamingos, 9100', 'Normal', '0', '11111111111115');
166
167-- Tabela fones_clientes
168insert into fones_clientes (num_telefone, codcliente) values ('+5511999999999', 1);
169insert into fones_clientes (num_telefone, codcliente) values ('+5511999999998', 2);
170insert into fones_clientes (num_telefone, codcliente) values ('+5511999999997', 3);
171insert into fones_clientes (num_telefone, codcliente) values ('+5511999999996', 4);
172insert into fones_clientes (num_telefone, codcliente) values ('+5511999999995', 5);
173insert into fones_clientes (num_telefone, codcliente) values ('+5511999999994', 6);
174insert into fones_clientes (num_telefone, codcliente) values ('+5511999999993', 7);
175insert into fones_clientes (num_telefone, codcliente) values ('+5511999999992', 8);
176insert into fones_clientes (num_telefone, codcliente) values ('+5511999999991', 9);
177insert into fones_clientes (num_telefone, codcliente) values ('+5511999999990', 10);
178
179-- Tabela funcionario
180insert into funcionario (codfunc, nome, endereco, cpf)
181values (1, 'Zacarias Marinho', 'Rua das Cadeiras, 1000', 21111111111);
182
183insert into funcionario (codfunc, nome, endereco, cpf)
184values (2, 'Yara Feijó', 'Rua das Mesas, 2000', 21111111112);
185
186insert into funcionario (codfunc, nome, endereco, cpf)
187values (3, 'Xerxes Pereira', 'Rua dos Cadernos, 3000', 21111111113);
188
189insert into funcionario (codfunc, nome, endereco, cpf)
190values (4, 'Verônica Dantas', 'Rua dos Lápis, 4000', 21111111114);
191
192-- Tabela ordens_servico
193insert into ordens_servico (numero, data, valor_total, status, codfunc, codcliente)
194values (1, '2018-04-11'::timestamp, 100.00, 'Finalizada', 1, 1);
195
196insert into ordens_servico (numero, data, valor_total, status, codfunc, codcliente)
197values (2, '2018-04-11'::timestamp, 200.00, 'Finalizada', 1, 2);
198
199insert into ordens_servico (numero, data, valor_total, status, codfunc, codcliente)
200values (3, '2018-04-11'::timestamp, 50.00, 'Finalizada', 2, 3);
201
202insert into ordens_servico (numero, data, valor_total, status, codfunc, codcliente)
203values (4, '2018-04-12'::timestamp, 100.00, 'Finalizada', 3, 4);
204
205insert into ordens_servico (numero, data, valor_total, status, codfunc, codcliente)
206values (5, '2018-04-13'::timestamp, 150.00, 'Finalizada', 4, 5);
207
208-- Tabela itens
209insert into itens (codigo, valor, custo, descricao, desconto, estoque)
210values (1, 10.90, 5.00, 'Pote de plástico', 0.05, 10);
211
212insert into itens (codigo, valor, custo, descricao, desconto, estoque)
213values (2, 20.90, 10.00, 'Pote de cerâmica', 0.06, 22);
214
215insert into itens (codigo, valor, custo, descricao, desconto, estoque)
216values (3, 30.90, 13.00, 'Pote de cristal', 0.07, 7);
217
218insert into itens (codigo, valor, custo, descricao, desconto, estoque)
219values (4, 40.90, 20.00, 'Pote de inox', 0.08, 30);
220
221insert into itens (codigo, valor, custo, descricao, desconto, estoque)
222values (5, 50.90, 1.00, 'Panela especial', 0.10, 2);
223
224-- INCOMPLETO -> AINDA FALTAM MAIS TABELAS