Você está na página 1de 5

Grupo Igor Ribeiro de Senna Facchinetti Valter Luiz da Silva Filho

Trabalho de SQL Banco de Dados

Trabalho da Ao Educativa de Banco de Dados do 4 perodo do Curso de Graduao Tecnolgica em Redes de Computadores, da Faculdade de tecnologia SENAC Rio. Docente: Leandro Chernicharo

Trabalho SQL Igor Senna / Valter Silva


Enunciado:
Utilizando o banco de dados Exemplo fornecido junto com este documento, faa o que se pede abaixo utilizando instrues SQL. 1. Escreva o cdigo sql correspondente criao da tabela 'Fornecedor'. No leve em considerao que o campo 'id' IDENTITY, use apenas os comandos do SQL padro. 2. Escreva o cdigo sql correspondente alterao da tabela 'Fornecedor' para adicionar a chave primria no campo id 3. Escreva o cdigo sql correspondente alterao da tabela 'ClienteUsaProduto' para adicionar a coluna 'dataUso' 4. Escreva o cdigo sql correspondente alterao da tabela 'ClienteUsaProduto' para remover a coluna 'dataUso' 5. Escreva o cdigo sql correspondente alterao da tabela 'Fornecimento' para adicionar as chaves estrangeiras nas colunas idFornecedor e idProduto 6. Escreva o cdigo sql correspondente alterao da tabela 'Cliente' para permitir apenas os valores M e F no campo sexo 7. Selecione o nome de todos os fornecedores que no tenham telefone cadastrado 8. Selecione o nome e a idade de todos os clientes do sexo masculino que no tenham o ltimo nome terminado com a letra 'o'. Ordene pela idade de forma decrescente 9. Selecione o nome e o preco dos produtos que tenham sido cadastrados entre os anos 2000 e 2003. Ordene pelo nome do produto de forma crescente. 10. Selecione o nome e a idade do cliente e o nome, a data de uso e o preco de todos os produtos que tenham sido usados por clientes do sexo masculino, mas somente se o cliente for maior de 20 anos e se usou o produto este ano. Ordene pela data de uso (decrescente), pela idade do cliente (decrescente) e pelo nome do cliente (crescente) 11. Selecione o nome e o valor do produto, o nome do respectivo fornecedor e o valor de compra para todos os produtos que custem entre 10 e 100 e que sejam fornecidos por um fornecedor que tenha a sigla FN1 ou FN2 12. Selecione o nome de todos os clientes e de todos os produtos que ele comprou, mas somente para aqueles clientes que no estejam Ativos ou Pendentes e que sejam maiores de idade. Alm disso, os produtos fornecidos pelo fornecedor de sigla FN2 no devem ser considerados

Bibliografia de apoio: Sistemas de Banco de Dados [Navathe]; Apostila de SQL do professor Jorge Soares (anexa a este documento)

Data da entrega: Impreterivelmente, 29/11/2010 (vinte e nove de novembro de dois mil e dez), at o final da aula. Formato da entrega: Eletrnico (pdf ou doc). Outros formatos no sero aceitos.

T R A B A L H O

D E VE

SE R

FE I T O

E M

D U P L A .

Professor Leandro Chernicharo Trabalho Prtico de SQL

Trabalho SQL Igor Senna / Valter Silva


RESPOSTAS: Questo 1:
create table fornecedor (sigla nchar (5) not null, nome nchar (30) not null, telefone nchar (8) null);

Questo 2:
alter table fornecedor add constraint pk_fornecedor primary key (id);

Questo 3:
alter table clienteusaproduto add datauso nchar(10) not null

Questo 4:
alter table fornecedor drop column datauso

Questo 5:
alter table fornecimento add constraint fk_fornecimento_fornecedor foreign key (idfornecedor) references fornecedor(id)

alter table fornecimento add constraint fk_fornecimento_produto foreign key (idproduto) references produto(id)

Questo 6:
alter table cliente add constraint ck_sexo check (([sexo]='f' or [sexo]='m'))

Questo 7:
select nome, telefone from fornecedor where telefone is not null

Professor Leandro Chernicharo Trabalho Prtico de SQL

Trabalho SQL Igor Senna / Valter Silva


Questo 8:
select Nome, Sexo From Cliente Where nome not Like '%O' And sexo = 'M' Order by nome desc

Questo 9:
select idProduto, dataUso from ClienteUsaProduto where dataUso between '20000101' and '20031231' order by idProduto asc

Questo 10:
select a.nome as nome_clien, a.idade as idade_clien, a.sexo as sexo_clien, b.nome as nome_prod, b.valorVenda as valorVenda_prod, c.dataUso as dataUso_cliusaprod from Cliente as a, Produto as b, ClienteUsaProduto as c where b.id = c.idProduto and c.idCliente = a.id and sexo = 'M' and idade > 20 and dataUso between '20100101' and '20101231' group by c.dataUso, a.idade, a.nome, b.nome, b.valorVenda, a.sexo order by a.nome, a.idade desc, c.dataUso desc

Questo 11:
select a.nome as nome_prod, a.valorvenda as valorvenda_prod, d.nome as nome_forn, d.sigla as sigla_forn, e.valor as valor_fornec from Produto as a, fornecedor as d, fornecimento as e where a.id = e.idproduto and e.idfornecedor = d.id and valor between '10' and '100' and sigla <>'fn3' group by a.nome, a.valorvenda, d.nome, d.sigla, e.valor

Professor Leandro Chernicharo Trabalho Prtico de SQL

Trabalho SQL Igor Senna / Valter Silva

Questo 12:
select f.nome as nome_clien, g.nome as nome_prod, h.descricao as descricao_Status, f.idade as idade_clien, j.sigla as sigla_forn from Cliente as f, Produto as g, Fornecedor as j, Status as h where idade > 18 and sigla <> 'FN2' and descricao <> 'ativo' and descricao <> 'Pendente' order by idade asc

Professor Leandro Chernicharo Trabalho Prtico de SQL

Você também pode gostar