Programação Banco de dados
Por: renatodarua • 28/9/2015 • Trabalho acadêmico • 3.468 Palavras (14 Páginas) • 170 Visualizações
ETAPA 1
PASSO 1
* CRIAR TABELA CATEGORIA
CREATE TABLE categoria
(
CODIGO_CATEGORIA INT NOT NULL,
DESCRICAO VARCHAR(30) NOT NULL,
PRIMARY KEY (CODIGO_CATEGORIA)
);
* CRIAR TABELA PRODUTO
CREATE TABLE PRODUTO
(
CODIGO_PRODUTO VARCHAR(3) NOT NULL,
DESCRICAO VARCHAR(40) NOT NULL,
UNIDADE VARCHAR(15) NOT NULL,
CATEGORIA INT NOT NULL,
VALOR_UNIT DECIMAL(4,2) NOT NULL,
PRIMARY KEY (CODIGO_PRODUTO)
);
alter table produto
add constraint fk_categoria
foreign key (categoria)
references CATEGORIA;
* INSERINDO REGISTROS NA TABELA CATEGORIA
INSERT INTO CATEGORIA VALUES (1, 'LATICINIOS')
INSERT INTO CATEGORIA VALUES (2, 'CARNES')
INSERT INTO CATEGORIA VALUES (3, 'ADEGA')
INSERT INTO CATEGORIA VALUES (4, 'NAO_PERECIVEIS')
INSERT INTO CATEGORIA VALUES (5, 'HORT-FRUT')
INSERT INTO CATEGORIA VALUES (6, 'GULOSEIMAS')
* INSERINDO REGISTROS NA TABELA PRODUTO
INSERT INTO PRODUTO VALUES ('255', 'IORGUTE', '1 CAIXA', 1, 1.25);
INSERT INTO PRODUTO VALUES ('256', 'QUEIJO BRANCO', '1 UNIDADE', 1, 3.67);
INSERT INTO PRODUTO VALUES ('257', 'LEITE UHT INTEGRAL', '1 CAIXA', 1, 14.27);
INSERT INTO PRODUTO VALUES ('258', 'MARGARINA', '1 POTE', 1, 2.45);
INSERT INTO PRODUTO VALUES ('259', 'LEITE DESNATADO', '1 CAIXA', 1, 16.32);
INSERT INTO PRODUTO VALUES ('134', 'FRANGO', '1 KG', 2, 7.99);
INSERT INTO PRODUTO VALUES ('135', 'PEIXE', '1 KG', 2, 13.44);
INSERT INTO PRODUTO VALUES ('223', 'CHOCOLATE', '1 BARRA', 6, 11.95);
INSERT INTO PRODUTO VALUES ('225', 'JUJUBAS', '1 PACOTE', 6, 1.45);
INSERT INTO PRODUTO VALUES ('456', 'ALFACE', '1 UNIDADE', 5, 1.50);
INSERT INTO PRODUTO VALUES ('451', 'ALHO', '1 CABEÇA', 5, 0.29);
INSERT INTO PRODUTO VALUES ('369', 'VINHO BRANCO', '1 GARRAFA', 3, 27.66);
INSERT INTO PRODUTO VALUES ('411', 'FEIJAO', '1 KG', 4, 4.65);
INSERT INTO PRODUTO VALUES ('499', 'ABACATE', '1 CAIXA', 5, 19.79);
INSERT INTO PRODUTO VALUES ('412', 'ARROZ', '1 KG', 4, 2.80);
INSERT INTO PRODUTO VALUES ('413', 'ETAPA5', 'ESGOTADO', 4, 7.34);
PASSO 2
* CRIAR LISTAGEM
SELECT P.CODIGO_PRODUTO, P.DESCRICAO, P.UNIDADE,
DESCRICAO_CATEGORIA = C.DESCRICAO
FROM PRODUTO P
JOIN CATEGORIA C
ON C.CODIGO_CATEGORIA = P.CATEGORIA
ORDER BY P.DESCRICAO
PASSO 3
SELECT VALOR = SUM(P.VALOR_UNIT),
DESCRICAO_CATEGORIA = C.DESCRICAO
FROM PRODUTO P
JOIN CATEGORIA C
ON C.CODIGO_CATEGORIA = P.CATEGORIA
GROUP BY C.DESCRICAO
ORDER BY VALOR DESC
PASSO 4
SELECT CATEGORIA, QUANTIDADE = COUNT(*)
FROM PRODUTO
GROUP BY CATEGORIA
ETAPA 2
PASSO 1
UPDATE PRODUTO
SET VALOR_UNIT = VALOR_UNIT + (VALOR_UNIT * 0.1)
WHERE CATEGORIA = 1;
PASSO 2
DELETE FROM PRODUTO
WHERE CATEGORIA = 1 AND VALOR_UNIT IN (SELECT MAX(VALOR_UNIT) FROM PRODUTO);
...