Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — CESPE / CEBRASPE 2024

Banco de DadosConsultas e Comandos em SQL
Código
ce403674
Banca
CESPE / CEBRASPE
Órgão
TSE
Ano
2024
Cargo
TJ

Em determinada faculdade, para controlar os dados das monitorias prestadas por alunos a seus colegas, foram criadas as tabelas Aluno, Disciplina e Monitoria por meio dos scripts SQL a seguir.


CREATE TABLE Aluno (
matricula integer,
nome varchar(50),
cpf integer,
PRIMARY KEY(matricula)
);


CREATE TABLE Disciplina (
cod_disciplina integer,
nome_disciplina varchar(50),
PRIMARY KEY(cod_disciplina)
);


CREATE TABLE Monitoria (
cod_monitoria integer,
dia_da_semana char(20),
numero_de_horas integer,
matricula_aluno_atendido integer,
matricula_aluno_monitor integer,
cod_disciplina_apoiada integer,
PRIMARY KEY(cod_monitoria),
FOREIGN KEY (matricula_aluno_atendido) REFERENCES
Aluno (matricula),
FOREIGN KEY (matricula_aluno_monitor) REFERENCES
Aluno (matricula),
FOREIGN KEY (cod_disciplina_apoiada) REFERENCES
Disciplina (cod_disciplina)
);


A partir dessas informações, julgue o próximo item.


Se as referidas tabelas forem criadas em um banco de dados MySQL, para que seja feita uma mudança no nome do campo dia_da_semana para nome_do_dia na tabela Monitoria, será necessário executar o comando a seguir.

 

Se a tabela Aluno for eliminada com o comando DROP do SQL, então, para desfazer essa eliminação utilizando o Oracle 21C, o comando a seguir deve ser executado, caso o parâmetro de inicialização RECYCLEBIN esteja definido como ON.


FLASHBACK TABLE Aluno TO BEFORE DROP

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

FLASHBACK TABLE no Oracle: recuperação de tabela eliminada

Gabarito: Certo. No Oracle, quando uma tabela é eliminada com DROP TABLE, ela não é imediatamente removida do banco: vai para a recycle bin (lixeira), desde que o parâmetro de inicialização RECYCLEBIN esteja ON. Para desfazer a eliminação, o comando correto é FLASHBACK TABLE Aluno TO BEFORE DROP, que restaura a tabela e seus dados. A afirmação está correta.

O comando DROP TABLE é um comando DDL (Data Definition Language) que remove a estrutura da tabela e todos os seus dados. No Oracle, porém, existe um mecanismo de segurança chamado recycle bin (lixeira). Quando o parâmetro RECYCLEBIN está definido como ON (que é o padrão), a tabela eliminada não é fisicamente removida do banco; ela é movida para a lixeira, onde permanece até ser purgada ou até que o espaço seja necessário. Isso permite que o usuário recupere a tabela com o comando FLASHBACK TABLE ... TO BEFORE DROP.

O comando FLASHBACK TABLE é um recurso do Oracle que permite restaurar tabelas eliminadas ou até mesmo versões anteriores de tabelas. A sintaxe básica para recuperar uma tabela eliminada é:

FLASHBACK TABLE nome_da_tabela TO BEFORE DROP;

Esse comando restaura a tabela com seus dados e estrutura originais. É importante notar que, se houver outra tabela com o mesmo nome na lixeira, o Oracle pode exigir a especificação de um nome de reciclagem (recycle bin name) para evitar ambiguidade.

A pegadinha da questão está em confundir o comando FLASHBACK TABLE com outros comandos de recuperação, como ROLLBACK (que desfaz transações) ou RECOVER (que recupera de backups). O FLASHBACK TABLE TO BEFORE DROP é específico para recuperar tabelas eliminadas da lixeira do Oracle.

Guarde a distinção: DROP TABLE elimina a tabela (vai para a lixeira no Oracle), TRUNCATE TABLE elimina apenas os dados (não vai para a lixeira), e DELETE FROM elimina registros específicos (pode ser desfeito com ROLLBACK). O FLASHBACK TABLE TO BEFORE DROP é a forma de desfazer o DROP no Oracle.

  1. 1DROP TABLE
  2. 2Vai para a recycle bin
  3. 3FLASHBACK TABLE TO BEFORE DROP
  4. 4Tabela restaurada
LEVEL · soulevel.com.br

Item — ✅ CERTO

A afirmação está correta. O comando FLASHBACK TABLE Aluno TO BEFORE DROP é exatamente o que deve ser executado no Oracle 21C para desfazer a eliminação da tabela Aluno, desde que o parâmetro RECYCLEBIN esteja ON. Esse comando restaura a tabela da lixeira, recuperando sua estrutura e seus dados.

Gabarito: Certo.

Link permanente: /questoes/ce403674