Para um estudo do tema Educação, foram coletados dados de es...

Próximas questões
Com base no mesmo assunto
Q2383229 Banco de Dados
Para um estudo do tema Educação, foram coletados dados de escolas e de professores em todos os municípios brasileiros. Esses dados foram armazenados em duas relações (tabelas), organizadas de acordo com o seguinte modelo relacional:

ESCOLA (cod-escola, nome-escola, cod-municipio, quantidade-alunos)
PROFESSOR (CPF, nome-prof, data-nascimento, cod-municipio-residencia, cod-escola-prof)

A chave primária de ESCOLA é cod-escola, e a de PROFESSOR é CPF. A coluna cod-escola-prof em PROFESSOR é uma chave estrangeira e indica em que escola o professor leciona. Considere a utilização dos operadores de Projeção (π ou PROJETE), Seleção (σ ou SELECIONE) e Junção (Imagem associada para resolução da questão ou JUNTE) da Álgebra Relacional.
Que sequência de operações, em Álgebra Relacional, produz como resultado uma relação R-X com CPF e nome dos professores que NÃO residem no mesmo município onde lecionam?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Basta começarmos "de traz para frente":

R-X faz a projeção de cpf e nome-prof (são as "colunas" que deverão ser projetadas).

Estas "colunas", em R-X, trarão os valores selecionados em R-B, onde foram atendias as condições em que cod-municipio-residencia é diferente de cod-municipio (ou seja, professor mora numa cidade mas trabalha em outra).

Finalizando, faz-se a junção na R-A utilizando a chave estrangeira cod-escola-prof, da tabela PROFESSOR com a chave primária cod-escola da tabela ESCOLA.

Gabarito D

Olha, nessa a cesgranrio podia ter colocado normalmente os operadores pelas letras gregas, essa sopa de letrinhas deu trabalho.

Para quem tem dificuldade em algebra relacional recomendo o livro Sistemas de Bancos de Dados, capítulo 8, o entendimento dele não é comprometido pela falta do resto do livro se já existe um entendimento de modelo relacional, mas caso não tenha é só ler o capítulo 5 antes.

O seguinte site é muito útil para praticar, usei muito enquanto estudava a disciplina de BD: https://dbis-uibk.github.io/relax/landing.

Segue a expressão:

π cpf, nome_prof ( σ cod_municipio_residencia ≠ cod_municipio (PROFESSOR ⨝ cod_escola_prof = cod_escola ESCOLA) )

Se fizermos as atribuições em separado fica:

JUNTAR:

r-a ← (PROFESSOR ⨝ cod_escola_prof = cod_escola ESCOLA)

SELECIONAR:

r-b ← σ cod_municipio_residencia ≠ cod_municipio r_a

PROJETAR:

r-x ← π cpf, nome_prof ( r_b )

## Analisando as Alternativas e Solução

**Compreendendo o Problema:**

Queremos encontrar os professores que não residem no mesmo município onde lecionam. Para isso, precisamos comparar o `cod-municipio-residencia` do professor com o `cod-municipio` da escola em que ele leciona.

**Analisando as Alternativas:**

* **A:** A seleção é feita antes da junção, o que pode levar a resultados incorretos, pois a comparação entre municípios seria feita apenas com base nos dados do professor, sem considerar a escola.

* **B:** A junção é feita com uma condição que não é relevante para o problema (cod-municipio-residencia é diferente de cod-municipio). Além disso, a projeção é feita sobre o resultado da junção, mas a condição da seleção não é levada em consideração.

* **C:** A seleção é feita apenas sobre a tabela PROFESSOR, o que não leva em consideração a informação da escola.

* **D:** Essa alternativa parece ser a mais promissora. Primeiro, a junção é feita corretamente, relacionando os professores com suas respectivas escolas. Em seguida, a seleção é feita para encontrar os professores que não residem no mesmo município onde lecionam. Por fim, a projeção extrai apenas as colunas desejadas (CPF e nome).

* **E:** A ordem das operações não é ideal. A seleção deveria ser feita após a junção para garantir que a comparação entre municípios seja feita corretamente.

**Solução:**

A alternativa **D** é a que apresenta a sequência de operações correta para resolver o problema.

**Passo a passo da solução:**

1. **R-A ← JUNTE PROFESSOR a ESCOLA onde cod-escola-prof = cod-escola:**

  * Essa operação une as tabelas PROFESSOR e ESCOLA, relacionando cada professor com a escola em que leciona, com base na chave estrangeira `cod-escola-prof`.

2. **R-B ← SELECIONE R-A onde cod-municipio-residencia é diferente de cod-municipio:**

  * A partir do resultado da junção (R-A), selecionamos apenas as linhas onde o código do município de residência do professor é diferente do código do município da escola.

3. **R-X ← PROJETE CPF, nome-prof de R-B:**

  * Projetamos o resultado final (R-B), mantendo apenas as colunas CPF e nome-prof dos professores que atendem à condição da seleção.

**Resposta:**

A alternativa **D** apresenta a sequência de operações correta para obter a relação R-X com CPF e nome dos professores que NÃO residem no mesmo município onde lecionam.

**Em resumo:**

A solução envolve três etapas:

1. **Junção:** Relacionar professores e suas respectivas escolas.

2. **Seleção:** Filtrar os resultados para encontrar os professores que não residem no mesmo município.

3. **Projeção:** Extrair as colunas desejadas do resultado final.

Essa sequência de operações garante que a comparação entre os municípios seja feita corretamente e que apenas os professores que atendem à condição sejam incluídos no resultado final.

Fonte: Gemini

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo