Programação em Banco de dados CREATE DATABASE A03; GO USE A03; GO -- Cria a tabela para armazenar PRODUTO CREATE TABLE PRODUTO( CDPRODUTO INT NOT NULL, NOMEPRODUTO VARCHAR(255), CONSTRAINT PK_PRODUTO PRIMARY KEY (CDPRODUTO) ); -- Cria a tabela para armazenar FORNECEDOR CREATE TABLE FORNECEDOR( CDFORNECEDOR INT NOT NULL, NOMEFANTASIA VARCHAR(255), CONSTRAINT PK_FORNECEDOR PRIMARY KEY (CDFORNECEDOR) ); -- Cria a tabela para armazenar a relação entre PRODUTO e FORNECEDOR CREATE TABLE ( CD INT NOT NULL, CDFORNECEDOR INT, CDPRODUTO INT, VLVALOR NUMERIC(18,2) CONSTRAINT PK_ PRIMARY KEY (CD) ); --Cria a chave estrangeria entre a tabela e PRODUTO ALTER TABLE ADD CONSTRAINT FK_FORNECEDOR FOREIGN KEY (CDFORNECEDOR) REFERENCES FORNECEDOR(CDFORNECEDOR) ALTER TABLE ADD CONSTRAINT FK_PRODUTO FOREIGN KEY (CDPRODUTO) REFERENCES PRODUTO(CDPRODUTO)
--Inclusão de produtos insert into PRODUTO values (1,'MALETA 14"') insert into PRODUTO values (2,'MALETA 15"') insert into PRODUTO values (3,'MALETA 17"') insert into PRODUTO values (4,'MOUSE s/fio') insert into PRODUTO values (5,'Teclado s/fio"') insert into PRODUTO values (6,'Kit Mouse e teclado s/fio') insert into PRODUTO values (7,'Monitor 15"') --Inclusão de fornecedores insert into FORNECEDOR values (1,'SATELLITE') insert into FORNECEDOR values (2,'TARGUS') insert into FORNECEDOR values (3,'LOGITECH') insert into FORNECEDOR values (4,'MTEK') insert into FORNECEDOR values (5,'MICROSOFT') --Inclusão da relação produto x fornecedor insert into values (1,1,1,36) insert into values (2,1,2,40) insert into values (3,1,1,50) insert into values (4,2,1,60) insert into values (5,1,1,75) insert into values (6,3,4,20) insert into values (7,3,5,35) insert into values (8,4,4,20) insert into values (9,4,5,35) insert into values (10,4,6,40) --Lista de todos os produtos: * PRODUTO --Lista de todos os fornecedores: * FORNECEDOR --Lista da relação de produto x fornecedor: * --Escolhendo as colunas que irão aparecer no comando NOMEPRODUTO PRODUTO NOMEFANTASIA FORNECEDOR CDPRODUTO, CDFORNECEDOR, VLVALOR --Apelido para as colunas
--Ordenando resultados Order by valor --Ordenação decrescente Order by valor DESC --Ordenação por duas colunas Order by CDFORNECEDOR, VLVALOR --Comando SQL com campos de duas tabelas PRODUTO.CDPRODUTO, PRODFORN.CDFORNECEDOR, PRODUTO, PRODFORN WHERE PRODFORN.CDPRODUTO = PRODUTO.CDPRODUTO --Comando SQL com campo das três tabelas PRODUTO, PRODFORN, FORNECEDOR WHERE PRODFORN.CDPRODUTO = PRODUTO.CDPRODUTO AND PRODFORN.CDFORNECEDOR = FORNECEDOR.CDFORNECEDOR NOMEPRODUTO
--Comando INNER JOIN PRODUTO INNER JOIN PRODFORN ON (PRODFORN.CDPRODUTO = PRODUTO.CDPRODUTO) INNER JOIN FORNECEDOR ON (PRODFORN.CDFORNECEDOR = FORNECEDOR.CDFORNECEDOR) NOMEPRODUTO --Comando LEFT OUTER JOIN PRODUTO.CDPRODUTO, PRODUTO LEFT OUTER JOIN PRODFORN ON (PRODFORN.CDPRODUTO = PRODUTO.CDPRODUTO) LEFT OUTER JOIN FORNECEDOR ON (PRODFORN.CDFORNECEDOR = FORNECEDOR.CDFORNECEDOR) PRODUTO.CDPRODUTO --Comando RIGHT OUTER JOIN FORNECEDOR.CDFORNECEDOR, PRODUTO INNER JOIN PRODFORN ON (PRODFORN.CDPRODUTO = PRODUTO.CDPRODUTO) RIGHT OUTER JOIN FORNECEDOR ON (PRODFORN.CDFORNECEDOR = FORNECEDOR.CDFORNECEDOR) FORNECEDOR.CDFORNECEDOR
Exercícios 1 Criar a estrutura abaixo 2 Inserir os seguintes estados: Estado Código Sigla Nome 1 SC Santa Catarina 2 PR Paraná 3 RJ Rio de Janeiro 4 SP São Paulo
3 Inserir as seguintes cidades: Cidade Código Estado Nome 1 1 Joinville 2 1 Chapecó 3 1 Florianópolis 4 2 Curitiba 5 2 Londrina 6 2 Foz do Iguaçu 7 3 São Paulo 4 Fazer um comando SQL para listar o nome da Cidade e o nome do Estado. Exibir apenas os estados que possuam alguma cidade associada 5 Fazer um comando SQL para listar o nome da Cidade e o nome do Estado. Exibir todos os estados, mesmo aqueles que não possuam uma cidade associada 6 Inserir os seguintes clientes: Cliente Código Cidade Nome Endereço CPF 1 1 João Rua ABC 123 2 3 Maria Rua XPTO 456 3 4 Renata Rua DEF 789 4 Pedro Rua GHY 012 5 4 Rafael Rua ASD 012 7 Listar o nome dos clientes, cidade e estado. OBS: deverá listar o Pedro, mesmo que não haja cidade associada a ele. 8 Listar todas as 7 cidades cadastradas e caso a cidade possua cliente, listar os clientes que moram na cidade 9 Listar os 4 estados, as 7 cidades e os 5 clientes.