Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — Quadrix 2024

Banco de DadosPostgreSQL
Código
qa630730
Banca
Quadrix
Órgão
IBICT
Ano
2024
Cargo
Tecno ( )
Acerca dos Sistemas Gerenciadores de Banco de Dados (SGBDs) MySQL e PostgreSQL, do Solr e do MongoDB, julgue o item abaixo:   No SGBD PostgreSQL, o comando CHANGE TABLE <nome_tabela> TO <novo_nome_tabela> é utilizado para renomear uma tabela.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

Comando de renomeação de tabela no PostgreSQL

Gabarito: ERRADO (letra E). No PostgreSQL, o comando para renomear uma tabela é ALTER TABLE <nome_tabela> RENAME TO <novo_nome_tabela>, e não CHANGE TABLE ... TO .... A sintaxe apresentada no enunciado não existe no PostgreSQL — ela mistura o comando ALTER TABLE com a palavra CHANGE, que é típica do MySQL, mas mesmo no MySQL o comando correto seria RENAME TABLE ou ALTER TABLE ... RENAME TO. Portanto, a afirmação está incorreta.

O comando ALTER TABLE é a instrução padrão da linguagem SQL para modificar a estrutura de uma tabela existente, e é classificado como um comando DDL (Data Definition Language). No PostgreSQL, a sintaxe para renomear uma tabela é:

ALTER TABLE nome_tabela RENAME TO novo_nome;

Essa é a forma correta e amplamente documentada. O comando CHANGE TABLE não existe em nenhum SGBD relacional conhecido — o que existe é ALTER TABLE ... CHANGE no MySQL, mas essa sintaxe é usada para alterar a definição de uma coluna (nome, tipo, etc.), não para renomear a tabela em si. Para renomear uma tabela no MySQL, o comando é RENAME TABLE nome_tabela TO novo_nome; ou ALTER TABLE nome_tabela RENAME TO novo_nome;.

A banca explora aqui a confusão entre os comandos de diferentes SGBDs. O candidato que conhece apenas o MySQL pode achar que CHANGE TABLE é válido, mas no PostgreSQL a palavra-chave CHANGE não é utilizada. Além disso, a estrutura TO é usada no PostgreSQL, mas sempre precedida de RENAME TO, nunca diretamente após o nome da tabela.

Para fixar: no PostgreSQL, a renomeação de tabela é feita com ALTER TABLE ... RENAME TO. Esse é um comando DDL, assim como CREATE, DROP e TRUNCATE. A confusão com o MySQL é comum, mas a banca cobra exatamente essa distinção.

1PostgreSQL
ALTER TABLE ... RENAME TO
2MySQL
RENAME TABLE ... TO
ALTER TABLE ... CHANGE (coluna)
3CHANGE TABLE ... TO (não existe)
Renomear tabela
LEVELsoulevel.com.br
Renomear tabela: PostgreSQL (ALTER TABLE ... RENAME TO); MySQL (RENAME TABLE ... TO, ALTER TABLE ... CHANGE (coluna)); CHANGE TABLE ... TO (não existe)

Item — ❌ ERRADO

A afirmação está incorreta porque o comando CHANGE TABLE <nome_tabela> TO <novo_nome_tabela> não é uma sintaxe válida no PostgreSQL. O comando correto para renomear uma tabela nesse SGBD é ALTER TABLE <nome_tabela> RENAME TO <novo_nome_tabela>. A palavra CHANGE não faz parte do vocabulário de comandos do PostgreSQL para essa finalidade; ela é usada no MySQL, mas apenas para alterar colunas, não tabelas. Portanto, a assertiva está errada.

NÃO CAIA NESSA!

A banca mistura comandos de SGBDs diferentes. No MySQL, ALTER TABLE ... CHANGE existe, mas serve para alterar uma coluna, não para renomear a tabela. No PostgreSQL, a renomeação de tabela é sempre com ALTER TABLE ... RENAME TO. Guarde essa diferença para não cair na pegadinha.

Gabarito: letra E (ERRADO).

Link permanente: /questoes/qa630730