Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Eu cheguei em outra resposta.

Olá a todos,

O desafio pede: Descobrir os nomes dos funcionários que trabalham em todos os projetos controlados pelo departamento número 5.

Print da tabela exposta pelo professor, em vermelho vemos os projetos do departamento 5, em verde o CPF das pessoas que trabalham nesses projetos, e em azul as pessoas correspondente ao CPF.

Como podemos ver na imagem acima, em vermelho vemos os projetos do departamento 5, em verde o CPF das pessoas que trabalham nesses projetos, e em azul as pessoas correspondente ao CPF. O que daria em outra resposta que não a que o professor deu.

Para chegar a resposta acima usei a logica abaixo:

A = σ Numero_Departamento == 5 (projeto)
AA = A ⋈ trabalha_em
AA = ρ Cpf_Funcionario ➡ Cpf (AA)
AAA = AA ⋈ funcionario
A_FINAL = π Primeiro_Nome, Nome_Meio, Ultimo_Nome (AAA)

Atenciosamente, Mozart Nascimento Pinho.

9 respostas

Olá Mozart, tudo bem?

Que legal Mozart você ter resolvido o desafio de uma forma diferente, retornou certinho todos os funcionários.

Foi muito também legal você ter compartilhado aqui com a gente a forma como você resolveu o desafio, você está indo muito bem Mozart :)

Continue assim e bons estudos!

Oi Danielle, tudo certo e com você?

Obrigado, mas a grande questão é, eu chego em um resultado da consulta diferente da que o professor chegou, na logica dele apenas uma pessoa retorna como resultado da consulta, porém no meu caso retornam 4 pessoas, e eu não consigo ver o erro em minha logica.

Atenciosamente, Mozart Nascimento Pinho.

Olá pessoal,

Mozart, o meu raciocínio foi semelhante ao seu e meu resultado também retornou 4 funcionários.

PROJETO_DEP5= σ Numero_Departamento==5(projeto)
FUNC_PROJETO= PROJETO_DEP5⧑trabalha_em
FUNC_PROJETO_CPF=ρ Cpf_Funcionario➡Cpf(FUNC_PROJETO) 
COMPLETA=FUNC_PROJETO_CPF⧑funcionario
FUNC_NOME=π Primeiro_Nome, Nome_Meio, Ultimo_Nome(COMPLETA)

Da mesma forma, gostaria de saber se este raciocínio está correto.

Obrigada

Oi Renata, tudo bom?

Pois é, que não foi só eu que tive essa linha de raciocionio. Porem até agora não tive nenhuma resposta.

Abraços

Olá Mozart e Renata!

Peço desculpas pela demora no retorno.

O raciocínio de vocês dois está correto, ao verificar as informações das relações, consegui perceber que realmente o resultado apresentado durante a aula aparentemente não está correto, já que temos mais funcionários que são gerenciados pelo departamento 5, como foi retornado por vocês.

Já estamos revisando está atividade para que as correções necessárias sejam realizadas.

Bons estudos!

Olá! Obrigada pelo retorno. abraços

Bom dia Danielle,

Muito obrigado pelo retorono, tudo de bom.

solução!

Bom dia, eu analisei os dois resultados e entendi o que ocorreu. Na forma como o professor resolveu retornou apenas um funcionário porque ele é o único que trabalha nos dois projetos do Departamento 5 (Resultado da divisão pois atende as duas condições do atributo Numero_Projeto) Já o outro resultado (que é obtido pela junção e não divisão) retorna 4 funcionários, pois ele considera qualquer funcionário que trabalhe em pelo menos um projeto.

Resumo:

Resultado através da divisão: Retorna apenas o funcionário que trabalha em todos os projetos gerenciados pelo departamento 5. Resultado através da junção: Retorna os 4 funcionários que trabalham em pelo menos um projeto gerenciado pelo departamento 5. (Nesse caso se não realizarmos a projeção do nome do funcionário podemos ver que teremos 5 tuplas, duas com o mesmo funcionário Fernando Wong, que é justamente o único resultado da solução através da divisão, pois ele trabalha em dois projetos).

Conclusão:

As duas respostas estão corretas, depende apenas da interpretação da pergunta. Se quer todos os funcionários que trabalham em todos os projetos do departamento 5, a resposta é obtida através da divisão. Por outro lado, se quiser todos os funcionários que trabalham em pelo menos um projeto do departamento 5, a resposta é a obtida através da junção.

Bom dia Gabriel,

Cara faz total sentindo o que tu falou, realmente o erro todo foi na interpretação do eunciado.

Obrigado.