-
Notifications
You must be signed in to change notification settings - Fork 3
/
trabalho_final.sql
244 lines (213 loc) · 13.7 KB
/
trabalho_final.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
create database "8bits" ;
CREATE TABLE "cliente" (
"codigo_cliente" serial not null,
"nome" varchar(50) not null,
"sobrenome" varchar(100) not null,
"login" varchar(15) not null,
"senha" varchar(8) not null,
"email_cliente" varchar(30) not null,
"cpf_cliente" int8 not null,
"data_nascimento" date not null,
"codigo_telefone" integer not null,
"codigo_endereco" integer not null,
PRIMARY KEY ("codigo_cliente")
);
CREATE TABLE "pedido" (
"codigo_pedido" serial not null,
"data_pedido" date not null,
"codigo_cliente" integer not null,
"codigo_item" integer not null,
PRIMARY KEY ("codigo_pedido"),
CONSTRAINT "FK_pedido.codigo_cliente"
FOREIGN KEY ("codigo_cliente")
REFERENCES "cliente"("codigo_cliente")
);
CREATE TABLE "telefone" (
"codigo_telefone" serial not null,
"telefone_principal" integer not null,
"telefone_secundario" integer,
PRIMARY KEY ("codigo_telefone")
);
CREATE TABLE "funcionario" (
"codigo_funcionario" serial not null,
"nome_funcionario" varchar(50) not null,
"cpf_funcionario" int8 not null,
"salario" decimal,
PRIMARY KEY ("codigo_funcionario")
);
CREATE TABLE "categoria" (
"codigo_categoria" serial not null,
"nome_categoria" varchar(50) not null,
"codigo_produto" integer not null,
PRIMARY KEY ("codigo_categoria")
);
CREATE TABLE "endereco_cliente" (
"codigo_endereco" serial not null,
"rua" varchar(200),
"numero_casa" integer,
"bairro" varchar(50),
"cidade" varchar(50),
"estado" varchar(50),
"cep" integer,
PRIMARY KEY ("codigo_endereco")
);
CREATE TABLE "item_compra" (
"codigo_item" serial not null,
"quantidade_comprada" integer not null,
"codigo_produto" integer not null,
PRIMARY KEY ("codigo_item")
);
CREATE TABLE "produto" (
"codigo_produto" serial not null,
"nome_produto" varchar(50) not null,
"quantidade_estoque" integer not null,
"data_fabricacao" date,
"valor_unitario" decimal not null,
"data_cadastro" date,
"codigo_funcionario" integer not null,
PRIMARY KEY ("codigo_produto")
);
--modificação dos atributos
alter table produto add column codigo_categoria integer not null;
alter table categoria drop column codigo_produto;
alter table pedido drop column codigo_item;
alter table item_compra add column codigo_pedido integer not null;
--definindo chaves estrangeiras
alter table produto add CONSTRAINT "FK_produto.codigo_funcionario" FOREIGN KEY ("codigo_funcionario")
REFERENCES "funcionario"("codigo_funcionario");
alter table cliente add CONSTRAINT "FK_cliente.codigo_endereco" FOREIGN KEY ("codigo_endereco")
REFERENCES "endereco_cliente"("codigo_endereco");
alter table produto add CONSTRAINT "FK_categoria.codigo_codigo_categoria" FOREIGN KEY ("codigo_categoria")
REFERENCES "categoria"("codigo_categoria");
alter table item_compra add CONSTRAINT "FK_item_compra.codigo_produto" FOREIGN KEY ("codigo_produto")
REFERENCES "produto"("codigo_produto");
alter table item_compra add CONSTRAINT "FK_item_compra.codigo_pedido" FOREIGN KEY ("codigo_pedido")
REFERENCES "pedido"("codigo_pedido");
--inserindo dados dos funcionários
insert into "funcionario" (nome_funcionario, cpf_funcionario, salario) values('Thiago', 99988877700, 2000);
insert into "funcionario" (nome_funcionario, cpf_funcionario, salario) values('Andrea', 11122233366, 2500);
insert into "funcionario" (nome_funcionario, cpf_funcionario, salario) values('Vanessa',22233366655, 3000);
insert into "funcionario" (nome_funcionario, cpf_funcionario, salario) values('Ricardo',33344455566, 3500);
insert into "funcionario" (nome_funcionario, cpf_funcionario, salario) values('Ariane', 44455566699, 4000);
insert into "funcionario" (nome_funcionario, cpf_funcionario, salario) values('Douglas',55566699988, 4500);
insert into "funcionario" (nome_funcionario, cpf_funcionario, salario) values('Debora',55589699988, null);
--modificação dos atributos
alter table telefone rename to telefone_cliente;
alter table cliente add CONSTRAINT "FK_cliente.codigo_telefone" FOREIGN KEY ("codigo_telefone") REFERENCES "telefone_cliente"("codigo_telefone");
alter table telefone_cliente rename column telefone_principal to ddd_principal;
alter table telefone_cliente rename column telefone_secundario to telefone_principal;
alter table telefone_cliente add column ddd_secundario integer;
alter table telefone_cliente add column telefone_secundario integer;
alter table endereco_cliente drop column rua;
alter table endereco_cliente drop column numero_casa;
alter table endereco_cliente drop column bairro;
alter table endereco_cliente drop column cidade;
alter table endereco_cliente drop column estado;
alter table endereco_cliente add column rua varchar(30) not null;
alter table endereco_cliente add column numero integer not null;
alter table endereco_cliente add column complemento varchar(15);
alter table endereco_cliente add column bairro varchar(20) not null;
alter table endereco_cliente add column cidade varchar(20) not null;
alter table endereco_cliente add column estado varchar(2) not null;
--alteração dos tipos de dados
alter table cliente alter column cpf_cliente type char(11);
alter table telefone_cliente alter column telefone_principal type char(9);
ALTER TABLE telefone_cliente ALTER COLUMN telefone_secundario TYPE char(9);
ALTER TABLE telefone_cliente ALTER COLUMN ddd_principal TYPE char(2);
ALTER TABLE telefone_cliente ALTER COLUMN ddd_secundario TYPE char(2);
alter table funcionario alter column cpf_funcionario type char(11);
alter table produto alter column valor_unitario type money;
--inserindo dados dos clientes
insert into telefone_cliente (ddd_principal, telefone_principal, ddd_secundario, telefone_secundario)
values (21, 998889988, 21, 26435343);
insert into telefone_cliente (ddd_principal, telefone_principal, ddd_secundario, telefone_secundario)
values (21, 998889989, 21, 26435344);
insert into telefone_cliente (ddd_principal, telefone_principal, ddd_secundario, telefone_secundario)
values (21, 998889990, 21, 26435345);
insert into telefone_cliente (ddd_principal, telefone_principal, ddd_secundario, telefone_secundario)
values (21, 998889991, 21, 26435346);
insert into telefone_cliente (ddd_principal, telefone_principal, ddd_secundario, telefone_secundario)
values (22, 994589991, null, null);
insert into telefone_cliente (ddd_principal, telefone_principal, ddd_secundario, telefone_secundario)
values (24, 998889771, null, null);
insert into endereco_cliente (cep, rua, numero, complemento, bairro, cidade, estado)
values (25960550, 'Rua Rui Barbosa', 200, ' ' , 'Agri�es', 'Teres�polis', 'RJ');
insert into endereco_cliente (cep, rua, numero, complemento, bairro, cidade, estado)
values (25960555, 'Av. Slooper', 1500, 'casa 01' , 'Alto', 'Teres�polis', 'RJ');
insert into endereco_cliente (cep, rua, numero, complemento, bairro, cidade, estado)
values (25960552, 'Rua Parana', 10, ' ', 'Centro', 'Teres�polis', 'RJ');
insert into endereco_cliente (cep, rua, numero, complemento, bairro, cidade, estado)
values (25960560, 'Av. Lucio Meira', 1830, 'ap. 502' , 'Barra', 'Teres�polis', 'RJ');
insert into endereco_cliente (cep, rua, numero, complemento, bairro, cidade, estado)
values (25960950, 'Av. Oliveira Botelho', 630, null , 'Alto', 'Petropolis', 'RJ');
insert into endereco_cliente (cep, rua, numero, complemento, bairro, cidade, estado)
values (25970560, 'Rua das Flores', 30, null , 'Olaria', 'Nova Friburgo', 'RJ');
insert into cliente (nome, sobrenome, login, senha, email_cliente, cpf_cliente, data_nascimento, codigo_telefone, codigo_endereco)
values ('Jose', 'Ferreira', 'jose', 'j12345' , '[email protected]', 07635687920, '1990-10-10', 1, 1);
insert into cliente (nome, sobrenome, login, senha, email_cliente, cpf_cliente, data_nascimento, codigo_telefone, codigo_endereco)
values ('Maria', 'Antunes', 'maria', 'm12345' , '[email protected]', 87635687920, '1991-9-20', 2, 2);
insert into cliente (nome, sobrenome, login, senha, email_cliente, cpf_cliente, data_nascimento, codigo_telefone, codigo_endereco)
values ('Flavio', 'Malone', 'flavio', 'f12345' , '[email protected]', 97635687920, '1977-01-5', 3, 3);
insert into cliente (nome, sobrenome, login, senha, email_cliente, cpf_cliente, data_nascimento, codigo_telefone, codigo_endereco)
values ('Renata', 'Castro', 'renata', 'r12345' , '[email protected]', 94565687920, '1980-07-09', 4, 4);
insert into cliente (nome, sobrenome, login, senha, email_cliente, cpf_cliente, data_nascimento, codigo_telefone, codigo_endereco)
values ('Ricardo', 'Gomes', 'ricardo', 'r12345' , '[email protected]', 94565667920, '1985-08-09', 5, 5);
insert into cliente (nome, sobrenome, login, senha, email_cliente, cpf_cliente, data_nascimento, codigo_telefone, codigo_endereco)
values ('Carla', 'Souza', 'carla', 'c12345' , '[email protected]', 94566687920, '1986-10-8', 6, 6);
--inserindo dados das categorias
insert into "categoria" (nome_categoria) values('Jogos');
insert into "categoria" (nome_categoria) values('Console');
insert into "categoria" (nome_categoria) values('Acessórios');
insert into "categoria" (nome_categoria) values('livros');
insert into "categoria" (nome_categoria) values('Camisetas');
insert into "categoria" (nome_categoria) values('Adesivos');
--inserindo dados dos produtos
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Pc Serratec', 3,'2022-02-22',2499.99,'2022-04-02',6 , 2 );
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Serra Station 8',4,'2022-02-02',5499.99,'2022-04-02',5, 2);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Super L�gica',2,'2022-02-10',3499.99,'2022-04-02',3, 2);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('N�o Entendo Switch',5,'2022-02-10',2499.99,'2022-04-02',6, 2);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Serra Drive',1,'2022-02-10',1099.99,'2022-04-02',1, 2);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Controle sem fio paçoquinha++', 10,'2021-04-03',180.99,'2022-04-03',2, 3);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Teclado de jogos variáveis infinitas', 15,'2021-01-10',149.99,'2022-04-03',1, 3);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Progdragão',20,'2021-05-10',59.99,'2022-04-03',3, 3);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Mouse Gamer limpa +rápido',17,'2021-06-15',99.99,'2022-04-03',4, 3);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Livro * No final tudo da certo *',25,'2020-01-22',49.99,'2022-04-03',5, 3);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('SerratecAdventure', 5,'2022-01-10',199.99,'2022-04-02',1, 1);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Zepa Conquest', 2,'2022-01-10',299.99,'2022-04-02',2, 1);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Limpa',20,'2022-01-10',79.99,'2022-04-02',3, 1);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Enquanto Infinity',16,'2022-01-10',99.99,'2022-04-02',4, 1);
insert into produto (nome_produto, quantidade_estoque, data_fabricacao, valor_unitario,data_cadastro,codigo_funcionario, codigo_categoria)
values('Save the Programmer',9,'2022-01-10',149.99,'2022-04-02',5, 1);
--inserindo dados dos pedidos
insert into pedido (data_pedido, codigo_cliente) values('2022-01-21', 1);
insert into pedido (data_pedido, codigo_cliente) values('2021-12-15', 2);
insert into pedido (data_pedido, codigo_cliente) values('2022-02-10', 3);
insert into pedido (data_pedido, codigo_cliente) values('2022-03-05', 4);
insert into pedido (data_pedido, codigo_cliente) values('2022-03-18', 1);
insert into pedido (data_pedido, codigo_cliente) values('2022-04-01', 2);
--inserindo dados das quantidades
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(3, 2, 1);
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(1, 5, 1);
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(4, 7, 1);
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(1, 15, 2);
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(2, 8, 2);
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(1, 6, 3);
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(3, 12, 4);
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(1, 9, 4);
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(1, 3, 4);
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(1, 10, 5);
insert into item_compra (quantidade_comprada, codigo_produto, codigo_pedido) values(1, 1, 6);