Dispõe-se de um arquivo de dados, que dentre outros campos t...

Próximas questões
Com base no mesmo assunto
Q304419 Banco de Dados
Dispõe-se de um arquivo de dados, que dentre outros campos tem os campos Nome, CEP e Setor. Deseja-se classificar o arquivo por ordem decrescente de Setor, decrescente de CEP e decrescente de Nome, ou seja, se empatar Setor, desempata pelo CEP e, se este empatar, desempata pelo Nome. Ocorre que o aplicativo disponível, que classifica, só consegue classificar os dados usando uma chave de cada vez (podendo ser crescente ou decrescente, à escolha). Qual o procedimento a ser adotado para obter o arquivo classificado na ordem especificada acima, usando 3 "rodadas" de classificação?

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a B - Classificar pelo Nome, depois pelo CEP e finalmente pelo Setor (todas em ordem decrescente).

Para compreender a questão, é essencial entender o conceito de ordenação de dados em um banco de dados e como as classificações sucessivas influenciam o resultado final. Quando classificamos um conjunto de dados por múltiplas chaves, a prioridade da ordenação é dada à primeira chave especificada, seguida pela segunda chave, e assim por diante. No entanto, se a classificação só pode ser feita uma chave de cada vez, a ordem das operações de classificação deve ser inversa à prioridade desejada.

Na questão em questão, é necessário ordenar os dados primeiramente por Setor, em ordem decrescente. Em seguida, dentro de cada Setor, os dados devem ser ordenados por CEP, também em ordem decrescente. Por fim, se houver empate no CEP, a ordenação final deve ser realizada pelo campo Nome, novamente em ordem decrescente.

A maneira correta de realizar essas classificações, dado que só é possível usar uma chave por vez em ordem crescente ou decrescente, é começar pela chave de menor prioridade. Neste caso, o Nome é a menor prioridade e deve ser a primeira a ser ordenada. Após isso, classifica-se pelo CEP e, por fim, pelo Setor. Como queremos a ordem decrescente para todas, cada uma dessas classificações deve ser feita em ordem decrescente individualmente. Isto é, a ordenação final dos Nomes será preservada quando os CEPs forem ordenados, e a ordenação combinada de Nomes e CEPs será mantida quando a classificação final pelo Setor for realizada.

Por que a alternativa B está correta? Porque ela segue exatamente a lógica descrita acima. Primeiro, os registros são classificados pelo campo de menor prioridade (Nome) em ordem decrescente, depois pelo CEP em ordem decrescente, e finalmente pelo Setor em ordem decrescente. Esta sequência de operações garante que a ordenação final esteja na ordem desejada, mesmo com a limitação de só poder classificar uma chave de cada vez.

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

Marquei D! É impressionante como conseguimos ser levados por erros bobos! Se pensasemos mais a respeito antes de marcar uma alternativa, veríamos que a ordem (decrescente) que deve ser feita por último deve ser a que tem maior relevância sobre as demais. Realmente, se fizermos a ordenação de dentro para fora (Nome, CEP e Setor) teríamos:

1a Ordenção: ordenar pelo Nome (descrescente);
2a Ordenação: Ordenar pelo CEP (os nomes já estarão ordenados - feito na primeira ordenação);
3a Ordenação: Ordenar pelo Setor (os CEPs e nomes já estarão ordenados - feito nas primeira e segunda ordenações);
Espero ter ajudado!

Eu acertei a questão, mas ela é questionável, pois não fala como funciona o algoritmo de ordenação utilizado.

Clique para visualizar este comentário

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