Você está na página 1de 6

Banco de Dados

Pet Shop

Turma: NF Professora: Maria Lencastre Equipe: Diogo Leal e Pitgoras Vieira

Minimundo: Pet Shop


O Pet Shop mantm o cadastro dos clientes da loja. Cada cliente tem seu CPF, nome, endereo e telefone registrados. Os animais dos clientes podem ser cadastrados, cada animal tem cdigo do animal, tipo de animal e nome. Cada cliente pode ter dependentes. Cada dependente tem o cdigo do dependente, nome, endereo e telefone registrados. feito tambm o cadastro dos funcionrios, onde se registra o CPF do funcionrio, funo, nome, endereo, telefone e salrio. Cada compra de produto(s) que feita no pet shop envolve o cliente, o funcionrio e os produtos que esto envolvidos na transao. Cada compra registrada contm o valor da compra, a data e o cdigo da compra. Cada produto tem o cdigo do produto, nome, preo, quantidade em estoque e descrio dos produtos registrados. Registram-se tambm os servios que o pet shop presta aos clientes, servios esses cujos animais dos clientes esto envolvidos, como por exemplo, tosa ou banho. Cada servio envolve os funcionrios envolvidos, o cliente e o animal. Cada servio registra o preo, descrio e cdigo do servio. H ainda o registro dos fornecedores dos produtos da pet shop. Um fornecedor pode fornecer mais de um produto. Cada fornecedor tem o cdigo do fornecedor, nome, endereo e telefone registrados.

Modelo Entidade Relacional

Modelo Relacional
Cliente (CPF_Cliente, Nome, Telefone, Endereo) Animal (CodAnimal, Nome, Tipo, CPF_Cliente(FK)) Servio_Animal (CodServio, CPF_Cliente(FK), CPF_Funcionario(FK), CodAnimal(FK), Descricao, Preco) Funcionario (CPF_Funcionario, Nome, Endereco, Telefone, Funcao) FunoFuncionrio (Funcao, Salario) Compra (CodCompra, CPF_Cliente(FK), CPF_Funcionario(FK), Valor, Data) Produto (CodProduto, CodFornecedor(FK), Nome, Descricao, Preo, QTD_Estoque) Fornecedor (CodFornecedor, Nome, Endereo, Telefone) Dependente (CPF_Cliente, CodDependente, Nome, Endereo, Telefone) CompraProduto (CodProduto, CodCompra) Servio_AnimalFuncionario (CPF_Funcionario, CodServio)

Consultas em SQL

1. Liste todos os cdigos de produto, nome de produto e descrio do produto que tenham preo entre 1 e 20. SELECT CodProduto, Nome, Descricao FROM Produto WHERE Preo>1 AND Preo<20 2. Quantas vendas foram feitas pelo vendedor Jorge Arajo? SELECT COUNT(*) FROM Funcionario F, Compra C WHERE F.CPF_Funcionario=C.CPF_Funcionario AND F.Nome=Jorge Arajo 3. Liste os nomes dos cliente que tem dependentes que tem nomes iniciados com a letra S. SELECT C.Nome FROM Cliente C, Dependente D WHERE C.CPF_Cliente=D.CPF_Cliente AND D.Nome LIKE S% 4. Quantos empregados recebem o maior salrio da tabela de salrios? SELECT COUNT(*) FROM Funcionario F, FuncaoFuncionario FF WHERE F.Funcao=FF.Funcao AND FF.Salario = (SELECT MAX(Salario) FROM FuncaoFuncionario) 5. Liste os nomes de todos os animais que tem dono que fez compras com o funcionrio Pedro Viana. SELECT A.Nome FROM Animal A, Cliente C, Funcionario F, Compra CO WHERE A.CPF_Cliente=C.CPF_Cliente AND C.CPF_Cliente=CO.CPF_Cliente AND CO.CPF_Funcionario=F.CPF_Funcionario AND F.Nome=Pedro Viana 6. Liste os produtos que tem quantidade em estoque maior que 50 ordenados por nome. SELECT Nome FROM Produto WHERE QTD_Estoque>50 ORDER BY Nome 7. Mostre todos os servios que foram prestados ao animal Paco que tem o dono Fbio e que custaram mais de 100 reais ordenados por cdigo de servio. SELECT AS.CodServico, AS.CPF_Cliente, AS.CPF_Funcionario, AS.CodAnimal, AS.Descricao, AS.Preco FROM Servico_Animal AS, Animal A, Cliente C, WHERE AS.CPF_Cliente=C.CPF_Cliente AND SA.CodAnimal=A.CodAnimal AND C.Nome=Fbio AND A.Nome=Paco AND AS.Preco>100 ORDER BY AS.CodServico

8. Mostre os nomes de todos os clientes e a descrio dos servios que receberam, se houver servios prestados. SELECT C.Nome, AS.Descricao FROM Cliente C LEFT JOIN Servico_Animal SA ON (SA.CPF_Cliente=C.CPF_Cliente) 9. Liste todos os cdigos de servio que esto vinculados ao funcionrio Walmir e que no tem preo definido no momento. SELECT SA.CodServico FROM Servico_Animal SA, Funcionario F WHERE AS.CPF_Funcionario=F.CPF_Funcionario AND F.Nome=Walmir AND AS.Preco IS NULL 10. Liste todos os nomes de clientes que esto alfabeticamente entre Alan e Fabrcio. SELECT Nome FROM Cliente WHERE Nome BETWEEN Alan AND Fabrcio ORDER BY Nome