Pular para o conteúdo principal

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

Banco de DadosPostgreSQL
Código
qg354210
Banca
Quadrix
Órgão
IBICT
Ano
2024
Nível
Superior
Cargo
Tecnologista - Tecnologia da Informação
Acerca dos Sistemas Gerenciadores de Banco de Dados (SGBDs) MySQL e PostgreSQL, do Solr e do MongoDB, julgue o item.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”.

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 item não existe no PostgreSQL — ela mistura palavras-chave de outros SGBDs e não corresponde a nenhum comando válido da linguagem SQL padrão ou das extensões do PostgreSQL.

O comando ALTER TABLE é a instrução padrão da sublinguagem DDL (Data Definition Language) do SQL para modificar a estrutura de uma tabela — adicionar, alterar ou remover colunas, restrições, índices e também renomear a própria tabela. A sintaxe genérica para renomear uma tabela no PostgreSQL é:

ALTER TABLE nome_tabela RENAME TO novo_nome;

Esse comando altera o nome da tabela no catálogo do banco, mantendo os dados e a estrutura interna. É importante notar que a palavra-chave RENAME é específica do PostgreSQL (e também usada no SQLite); outros SGBDs, como MySQL, usam RENAME TABLE nome_antigo TO nome_novo; — sem o ALTER TABLE.

A banca, ao escrever CHANGE TABLE <nome_tabela> TO <novo_nome_tabela>, criou uma sintaxe híbrida que não existe em nenhum SGBD conhecido. O termo CHANGE aparece no MySQL, mas apenas no comando ALTER TABLE ... CHANGE COLUMN (para renomear ou alterar o tipo de uma coluna), nunca para renomear a tabela em si. Já o TO é usado no PostgreSQL no RENAME TO, mas não com CHANGE TABLE.

Portanto, o item está errado porque descreve um comando inexistente. Para renomear uma tabela no PostgreSQL, o comando correto é ALTER TABLE ... RENAME TO ....

1PostgreSQL
ALTER TABLE ... RENAME TO ...
2MySQL
RENAME TABLE ... TO ...
3CHANGE (MySQL)
Só em ALTER TABLE ... CHANGE COLUMN
Nunca para renomear tabela
Renomear tabela
LEVELsoulevel.com.br
Renomear tabela: PostgreSQL (ALTER TABLE ... RENAME TO ...); MySQL (RENAME TABLE ... TO ...); CHANGE (MySQL) (Só em ALTER TABLE ... CHANGE COLUMN, Nunca para renomear tabela)

Item — ❌ Errado

O comando apresentado, CHANGE TABLE <nome_tabela> TO <novo_nome_tabela>, não é um comando válido no PostgreSQL. A sintaxe correta para renomear uma tabela nesse SGBD é:

ALTER TABLE nome_tabela RENAME TO novo_nome;

A banca misturou elementos de outros SGBDs: CHANGE é usado no MySQL (em ALTER TABLE ... CHANGE COLUMN), e TO aparece no PostgreSQL, mas apenas no RENAME TO. Não existe CHANGE TABLE em nenhum SGBD relacional para renomear tabelas. O item está errado.

NÃO CAIA NESSA!

A banca explora a confusão entre os comandos de renomeação de diferentes SGBDs. No MySQL, renomeia-se com RENAME TABLE antiga TO nova;; no PostgreSQL, com ALTER TABLE antiga RENAME TO nova;. O comando CHANGE existe no MySQL, mas apenas para alterar colunas (ALTER TABLE ... CHANGE COLUMN), nunca para renomear a tabela. Guarde essa distinção: RENAME é a palavra-chave universal para renomear objetos no PostgreSQL.

Gabarito: letra E (ERRADO).

Link permanente: /questoes/qg354210