Você está na página 1de 5

CREATE TABLE cliente (

codcli serial NOT NULL,


nomecli varchar(50),
endcli varchar(50),
cidadecli varchar(50),
estadocli char(2));

CREATE TABLE categoria (


codcat serial NOT NULL,
nomecat varchar(50)NOT NULL);

CREATE TABLE fornecedor (


codfor serial NOT NULL,
nomefor varchar(50),
endfor varchar(50),
cidadefor varchar(50),
estadofor char(2));

CREATE TABLE pedido (


nrped serial NOT NULL,
dataped date,
codcli integer NOT NULL);

CREATE TABLE pessoa_fisica (


cpf integer,
codpessoafisica integer NOT NULL);

CREATE TABLE pessoa_juridica (


cgc integer,
codpessoajuridica integer NOT NULL);

CREATE TABLE produto (


codprod serial NOT NULL,
codfor integer NOT NULL,
codcat integer NOT NULL,
nomeprod varchar(50),
quantprod integer,
precoprod numeric(12,2));

CREATE TABLE pedido_produto (


nrped integer NOT NULL,
codprod integer NOT NULL);

ALTER TABLE categoria


ADD CONSTRAINT pk_categoria PRIMARY KEY (codcat);

ALTER TABLE cliente


ADD CONSTRAINT pk_cliente PRIMARY KEY (codcli);

ALTER TABLE fornecedor


ADD CONSTRAINT pk_fornecedor PRIMARY KEY (codfor);

ALTER TABLE pedido_produto


ADD CONSTRAINT pk_pedido_produto PRIMARY KEY (nrped,codprod);

ALTER TABLE pedido


ADD CONSTRAINT pk_pedido PRIMARY KEY (nrped);

ALTER TABLE pessoa_fisica


ADD CONSTRAINT pk_pessoa_fisica PRIMARY KEY (codpessoafisica);

ALTER TABLE pessoa_juridica


ADD CONSTRAINT pk_pessoa_juridica PRIMARY KEY (codpessoajuridica);

ALTER TABLE produto


ADD CONSTRAINT pk_produto PRIMARY KEY (codprod);

ALTER TABLE pedido


ADD CONSTRAINT fk_pedido FOREIGN KEY (codcli) REFERENCES cliente(codcli);

ALTER TABLE pessoa_fisica


ADD CONSTRAINT fk_pessoa_fisica FOREIGN KEY (codpessoafisica) REFERENCES
cliente(codcli);

ALTER TABLE pessoa_juridica


ADD CONSTRAINT fk_pessoa_juridica FOREIGN KEY (codpessoajuridica) REFERENCES
cliente(codcli);

ALTER TABLE produto


ADD CONSTRAINT fk_produto FOREIGN KEY (codfor) REFERENCES fornecedor(codfor);

ALTER TABLE produto


ADD CONSTRAINT fk_produto_categoria FOREIGN KEY (codcat) REFERENCES
categoria(codcat);

ALTER TABLE pedido_produto


ADD CONSTRAINT fk_pedido FOREIGN KEY (nrped) REFERENCES pedido;

ALTER TABLE pedido_produto


ADD CONSTRAINT fk_produto FOREIGN KEY (codprod) REFERENCES produto;

--Inser��o de dados nas tabelas

--Categoria
INSERT INTO categoria (nomecat) VALUES ('padr�o');
INSERT INTO categoria (nomecat) VALUES ('higiene');
INSERT INTO categoria (nomecat) VALUES ('alimento');
INSERT INTO categoria (nomecat) VALUES ('perfumaria');
INSERT INTO categoria (nomecat) VALUES ('cama e mesa');

--Cliente
INSERT INTO cliente (codcli, nomecli, endcli, cidadecli, estadocli) VALUES (1,
'Lu�s', 'Rua A', 'Nova Igua�u', 'RJ');
INSERT INTO cliente (codcli, nomecli, endcli, cidadecli, estadocli) VALUES (2,
'Ana', 'Rua B', 'Rio de Janeiro', 'RJ');
INSERT INTO cliente (codcli, nomecli, endcli, cidadecli, estadocli) VALUES (3,
'Gustavo', 'Rua A', 'Niter�i', 'RJ');
INSERT INTO cliente (codcli, nomecli, endcli, cidadecli, estadocli) VALUES (4,
'Jos�', 'Rua B', 'Petr�polis', 'RJ');
INSERT INTO cliente (codcli, nomecli, endcli, cidadecli, estadocli) VALUES (5,
'F�bio', 'Rua C', 'Campinas', 'SP');
INSERT INTO cliente (codcli, nomecli, endcli, cidadecli, estadocli) VALUES (6,
'Adriana', 'Rua A', 'Governador Valadares', 'MG');
INSERT INTO cliente (codcli, nomecli, endcli, cidadecli, estadocli) VALUES (7,
'Rui', 'Rua R', 'Vit�ria','ES');
INSERT INTO cliente (codcli, nomecli, endcli, cidadecli, estadocli) VALUES (8,
'Nei', 'Rua N', 'Recife','PE');
insert into cliente (codcli,nomecli) values (50,'Eli');
--Fornecedor
INSERT INTO fornecedor (codfor, nomefor, endfor, cidadefor, estadofor) VALUES (1,
'Delta', 'Rua A', 'Rio de Janeiro', 'RJ');
INSERT INTO fornecedor (codfor, nomefor, endfor, cidadefor, estadofor) VALUES (2,
'Sony', 'Rua A', 'Rio de Janeiro', 'RJ');
INSERT INTO fornecedor (codfor, nomefor, endfor, cidadefor, estadofor) VALUES (3,
'LG', 'Rua A', 'S�o Paulo', 'SP');
INSERT INTO fornecedor (codfor, nomefor, endfor, cidadefor, estadofor) VALUES (4,
'Dell', 'Rua A', 'S�o Caetano do Sul', 'SP');
INSERT INTO fornecedor (codfor, nomefor, endfor, cidadefor, estadofor) VALUES (5,
'IBM', 'Rua A', 'Manaus', 'AM');
INSERT INTO fornecedor (codfor, nomefor, endfor, cidadefor, estadofor) VALUES (6,
'HP', 'Rua A', 'Campinas', 'SP');
INSERT INTO fornecedor (codfor, nomefor, endfor, cidadefor, estadofor) VALUES (7,
'Toshiba', 'Rua A', 'Rio de Janeiro', 'RJ');
INSERT INTO fornecedor (codfor, nomefor, endfor, cidadefor, estadofor) VALUES (8,
'Transmeta', 'Rua A', 'Manaus', 'AM');

--Pedido
INSERT INTO pedido (nrped, dataped, codcli) VALUES (1, '2000-02-23', 1);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (2, '2000-02-23', 1);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (3, '2000-02-23', 1);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (4, '2000-02-23', 1);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (5, '2000-02-23', 1);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (6, '2000-02-23', 2);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (7, '2001-02-23', 2);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (8, '2001-02-02', 3);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (9, '2001-02-02', 3);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (10, '2001-02-02', 3);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (11, '2001-02-02', 4);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (12, '2002-02-02', 4);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (13, '2002-02-02', 4);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (14, '2002-02-02', 4);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (15, '2002-02-02', 5);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (16, '2003-02-03', 5);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (17, '2003-02-03', 5);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (18, '2003-02-03', 6);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (19, '2003-02-03', 6);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (20, '2003-02-03', 6);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (21, '2003-02-03', 6);
INSERT INTO pedido (nrped, dataped, codcli) VALUES (22, '2003-02-03', 6);

--Pessoa F�sica
INSERT INTO pessoa_fisica (cpf, codpessoafisica) VALUES (123456, 1);
INSERT INTO pessoa_fisica (cpf, codpessoafisica) VALUES (234567, 2);
INSERT INTO pessoa_fisica (cpf, codpessoafisica) VALUES (345678, 3);
INSERT INTO pessoa_fisica (cpf, codpessoafisica) VALUES (456789, 4);

--Pessoa Jur�dica
INSERT INTO pessoa_juridica (cgc, codpessoajuridica) VALUES (987654, 5);
INSERT INTO pessoa_juridica (cgc, codpessoajuridica) VALUES (876543, 6);

--Produto
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (1, 1, 1, 'TV 21', 450, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (2, 1, 1, 'TV 29', 1450, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (3, 2, 2, 'TV 21', 1150, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (4, 2, 2, 'TV 29', 1250, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (5, 3, 2, 'Fog�o AB', 450, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (6, 3, 3, 'Geladeira XY', 850, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (7, 4, 3, 'Freezer FG', 450, 800.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (8, 4, 3, 'Microondas BN', 350, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (9, 5, 4, 'Ar condicionado LO', 750, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (10, 5, 4, 'Ar condicionado TG', 850, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (11, 6, 4, 'Micro GH', 450, 2500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (12, 6, 4, 'Micro RF', 450, 1500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (13, 7, 5, 'Micro PL', 450, 2800.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (14, 7, 5, 'Freezer MN', 450, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (15, 8, 5, 'Torradeira DF', 450, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (16, 8, 5, 'Micro DFG', 450, 500.50);
INSERT INTO produto (codprod, codfor, codcat, nomeprod, quantprod, precoprod)
VALUES (17, 8, 5, 'Notebook FGH', 450, 500.50);

--Pedido_produto
INSERT INTO pedido_produto VALUES (1,2);
INSERT INTO pedido_produto VALUES (1,1);
INSERT INTO pedido_produto VALUES (1,3);
INSERT INTO pedido_produto VALUES (2,2);
INSERT INTO pedido_produto VALUES (2,3);
INSERT INTO pedido_produto VALUES (2,1);
INSERT INTO pedido_produto VALUES (2,5);
INSERT INTO pedido_produto VALUES (3,2);
INSERT INTO pedido_produto VALUES (3,10);
INSERT INTO pedido_produto VALUES (3,12);
INSERT INTO pedido_produto VALUES (3,11);
INSERT INTO pedido_produto VALUES (4,2);
INSERT INTO pedido_produto VALUES (5,12);
INSERT INTO pedido_produto VALUES (5,14);
INSERT INTO pedido_produto VALUES (6,12);
INSERT INTO pedido_produto VALUES (6,2);
INSERT INTO pedido_produto VALUES (7,15);
INSERT INTO pedido_produto VALUES (8,2);
INSERT INTO pedido_produto VALUES (9,2);
INSERT INTO pedido_produto VALUES (10,12);
INSERT INTO pedido_produto VALUES (11,2);
INSERT INTO pedido_produto VALUES (12,5);
INSERT INTO pedido_produto VALUES (13,1);
INSERT INTO pedido_produto VALUES (14,3);
INSERT INTO pedido_produto VALUES (15,2);
INSERT INTO pedido_produto VALUES (16,3);
INSERT INTO pedido_produto VALUES (17,1);
INSERT INTO pedido_produto VALUES (18,5);
INSERT INTO pedido_produto VALUES (19,2);
INSERT INTO pedido_produto VALUES (20,10);
INSERT INTO pedido_produto VALUES (21,12);
INSERT INTO pedido_produto VALUES (22,11);

--Altera��o na tabela pedido_produto para acrescentar a quantidade vendida


ALTER TABLE pedido_produto ADD qtde_vendida INTEGER;
UPDATE pedido_produto SET qtde_vendida = 5 WHERE nrped < 5;
UPDATE pedido_produto SET qtde_vendida = 10 WHERE nrped BETWEEN 5 AND 10;
UPDATE pedido_produto SET qtde_vendida = 15 WHERE nrped > 10;

Você também pode gostar