Ajuda com MySql workbench?

2 respostas
Andrews_Y_Fernanda

Sou iniciante gostaria de uma ajuda para criar 3 questões que o professor me passou e estou tendo algumas dificuldades.

Listar os serviços utilizados para um cliente qualquer x que tenha um cachorro com nome qualquer y. Listar o nome e o telefone de todos os clientes que tiveram animas tosado no pet shop.

create database pet;
use pet;
 
CREATE TABLE CLIENTE(
cod_cliente int primary key auto_increment,
nome varchar(100) not null,
telefone int,
cpf varchar(14) not null unique,
cel varchar(15) not null,
endereco varchar(100)not null
);

CREATE TABLE ANIMAL(
cod_animal int primary key auto_increment,
nome_animal varchar(100) not null,
sexo SET('M','F'),
idade int,
raca varchar (50)not null,
data_cadastro datetime not null 
);

CREATE TABLE FUNCIONARIO(
cod_funcionario int primary key auto_increment,
nome_funcionario varchar(100) not null,
cpf varchar(14) not null unique,
sexo SET('M','F'),
especialidade varchar(30) DEFAULT'tosador',
cel varchar(15) not null,
endereco varchar(100)not null
);

CREATE TABLE SERVICO_ANIMAL(
cod_cliente int,
cod_animal int,
cod_funcionario int,
FOREIGN KEY(cod_animal) REFERENCES ANIMAL(cod_animal),
FOREIGN KEY(cod_funcionario) REFERENCES FUNCIONARIO(cod_funcionario),
FOREIGN KEY(cod_cliente) REFERENCES CLIENTE(cod_cliente)
);

#describe ;
 
INSERT INTO cliente(nome,telefone,cpf,cel,endereco) VALUES 
('roberto','32265849','78945622','999282127','rua andradas'),
('reginaldo','32228949','78989437','999282237','rua esmeralda'),
('ana paula','32547165','78254883','999456821','rua juca'),
('dagoberto','32123654','78854713','999126845','rua tereza'),
('roberto','22132547','78456927','[telefone removido]','rua santana');
 
INSERT INTO animal(nome_animal,sexo,idade,raca,data_cadastro) VALUES 
('toby','F','5','poodle','2017-06-21'),
('neco','M','2','chow chow','2017-07-27'),
('nick','M','1','pastor','2017-10-27'),
('luqui','M','7','salsicha','2017-04-26'),
('chica','F','15','pinther','2017-10-17');
 
INSERT INTO funcionario(nome_funcionario,cpf,sexo,especialidade,cel,endereco) VALUES 
('roberta','[telefone removido]','F','tosador','([telefone removido]','rua dos andres'),
('roberto','[telefone removido]','M','tosador','([telefone removido]','rua gonalves'),
('joao','[telefone removido]','M','tosador','([telefone removido]','rua terneira'),
('reginaldo','[telefone removido]','M','tosador','([telefone removido]','rua assis'),
('reginaldinha','[telefone removido]','M','tosador','([telefone removido]','rua nogueira');

2 Respostas

neosoro

Até aí está indo bem. Qual a sua dificuldade? O que não está conseguindo fazer? Pelo que eu entendi, pela sua estrutura está faltando popular a tabela “servico_animal” (sem trocadilhos, rs).

Essa tablea, será composta pelas três chaves primárias: cod_funcionario, cod_cliente, cod_animal. Após preencher essa tabela com os campos, estamos “cruzando” os dados.

Por exemplo, o Toby, que é cachorro do Dagoberto, foi atendido pela Reginaldinha. Nesse caso, a tabela de serviço, teria os seguintes valores: cod_animal: 1, cod_cliente: 4, cod_funcionario: 5. Pra fazer esse select, seria algo como:

SELECT nome_animal, nome_cliente, nome_funcionario FROM
servico_animal as SA
JOIN cliente as C ON C.cod_cliente =  SA.cod_cliente
JOIN animal as A ON F.cod_animal = SA.cod_animal
JOIN funcionario as F ON F.cod_funcionario = SA.cod_funcionario
```

Você pode começar por . Consegue ver a relação? Por isso são dados relacionais. O código da tabela A é igual ao código da tabela B e assim, vão se relacionando. 

Espero ter ajudado. Bons estudos.
Andrews_Y_Fernanda

ajudou bastante !!
meu muito obrigado mesmo pela ajuda :smiley:

Criado 3 de julho de 2017
Ultima resposta 4 de jul. de 2017
Respostas 2
Participantes 2