Julgue o itenm a seguir, a respeito de sistema gerenciador d...
Julgue o itenm a seguir, a respeito de sistema gerenciador de
banco de dados relacional e NoSQL.
Considere a tabela a seguir, de nome dados.
Considere, ainda, que a seguinte consulta tenha sido executada.
Nesse caso, é correto afirmar que o resultado da execução da consulta precedente será o apresentado a seguir.
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
Questão ERRADA
No select executado, é utilizado o a função cube, no qual tem objetivo de produz todos os grupos possíveis para as colunas listadas.
Sendo assim, caso a script não tivesse a função cube, o resultado da questão estaria correto
O cube trata as combinações de contagens para colunas vazias também. Então para esse caso o resultado seria:
sexo | idade | qtde
------+-------+------
| | 5
M | 11 | 1
M | 10 | 2
F | 10 | 1
F | 11 | 1
M | | 3
F | | 2
| 11 | 2
| 10 | 3
Para resolver essa questão, vamos analisar a consulta SQL apresentada na imagem. A consulta é a seguinte:
```sql
select sexo, idade, count(*) qtde
from dados
group by cube(sexo, idade)
```
Essa consulta utiliza a função `CUBE`, que é uma forma de agrupar dados de forma mais completa, gerando todas as combinações possíveis dos campos mencionados (neste caso, `sexo` e `idade`), incluindo agregados como totais parciais e o total geral.
Com base na tabela fornecida, o `CUBE(sexo, idade)` irá gerar os seguintes grupos:
1. Combinando `sexo` e `idade` para cada par único.
2. Somando todas as entradas para cada `sexo` independentemente da `idade`.
3. Somando todas as entradas para cada `idade` independentemente do `sexo`.
4. Somando todas as entradas sem considerar nem `sexo` nem `idade`.
A tabela de dados tem as seguintes entradas:
| id | sexo | idade |
|----|------|-------|
| 1 | M | 10 |
| 2 | F | 10 |
| 3 | M | 11 |
| 4 | F | 11 |
| 5 | M | 10 |
Portanto, as combinações geradas pelo `CUBE` serão:
1. `M, 10` -> 2 registros
2. `M, 11` -> 1 registro
3. `F, 10` -> 1 registro
4. `F, 11` -> 1 registro
5. `M` (total) -> 3 registros (soma das idades 10 e 11)
6. `F` (total) -> 2 registros (soma das idades 10 e 11)
7. `10` (total) -> 3 registros (soma dos sexos M e F)
8. `11` (total) -> 2 registros (soma dos sexos M e F)
9. Total geral -> 5 registros (soma de todos)
Entretanto, a questão pergunta se a tabela apresentada no final da imagem é o resultado correto da consulta, e a tabela mostrada contém apenas as combinações específicas de `sexo` e `idade`, sem incluir as combinações agregadas como totais por `sexo`, `idade`, ou o total geral.
Portanto, **a tabela apresentada não está correta** porque não inclui todas as combinações geradas pela função `CUBE`. Para ser completa, a tabela deveria incluir os totais parciais e o total geral mencionados acima.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo