Questão nº 55

Questão de Administração de Banco de Dados · FGV MPAL 2018 (nº 55)

FGV2018Analista do Ministério Público - Administrador de Banco de DadosAdministração de Banco de Dados
Gabarito: Aver comentário ↓

Considere o bloco de comandos Oracle a seguir.

```
create table x(a int, b int default 0,
c int default 0);
insert into x values (10,20,30);
alter table x set unused (b, c) ;
select * from x;
```

Assinale o que é produzido pelo comando "select".

Resposta comentada

Gabarito Alternativa A

O comando `ALTER TABLE ... SET UNUSED` no Oracle marca colunas como "não utilizadas", tornando-as logicamente removidas e inacessíveis para qualquer comando SQL, como `SELECT`, mesmo que seus dados ainda existam fisicamente até que sejam explicitamente descartados.

(A) Correta: O comando `ALTER TABLE x SET UNUSED (b, c);` marca as colunas `b` e `c` como não utilizadas. Isso significa que elas são logicamente removidas da tabela e não são mais visíveis ou acessíveis por consultas SQL. Consequentemente, `SELECT FROM x;` retorna apenas a coluna `a`, cujo valor é `10`.
(B) Incorreta: Esta seria a saída se as colunas `b` e `c` ainda estivessem ativas e acessíveis. O comando `SET UNUSED` as remove da visão lógica da tabela. Armadilha da banca: O distrator tenta fazer o aluno pensar que `SET UNUSED` não afeta a visibilidade dos dados, ou que é um comando inócuo para o `SELECT
`, quando na verdade ele remove as colunas do escopo da consulta.
(C) Incorreta: O comando `SET UNUSED` não altera os valores das colunas para `NULL`; ele as remove da definição da tabela para fins de consulta. Se as colunas fossem `NULL`, elas ainda apareceriam no `SELECT *`.
(D) Incorreta: O comando `SET UNUSED` não redefine os valores das colunas para seus padrões (`0` neste caso); ele as torna inacessíveis. Os valores `20` e `30` foram inseridos explicitamente, sobrescrevendo os padrões.
(E) Incorreta: O comando `ALTER TABLE ... SET UNUSED (coluna)` é um comando SQL válido e amplamente utilizado no Oracle para marcar colunas como não utilizadas, sendo uma etapa para a remoção física posterior. Ele não se aplica apenas a `constraints`.

Fonte: FGV MPAL 2018 Analista do Ministério Público - Administrador de Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho