Pular para o conteúdo principal

Questão de Banco de Dados — SQL Server — Instituto Consulplan 2025

Banco de DadosSQL Server
Código
qa698890
Banca
Instituto Consulplan
Órgão
TJ RO
Ano
2025
Cargo
AJ ( )

O banco de dados desempenha um papel fundamental no desenvolvimento e funcionamento de aplicações modernas, sendo considerado um dos pilares essenciais da infraestrutura de Tecnologia da Informação (TI). Essas estruturas permitem o armazenamento, organização, manipulação e recuperação dos dados persistidos pelas aplicações, além de garantir a integridade, a segurança e a disponibilidade das informações. Dentre as diversas possibilidades de Sistemas Gerenciais de Banco de Dados disponíveis no mercado, o Tribunal de Justiça do Estado de Rondônia (TJRO) escolheu o Microsoft SQL Server 2017 (configuração padrão) para a utilizar em uma determinada aplicação, construindo a seguinte tabela:

 

Imagem associada para resolução da questão

 

Considerando a estrutura da tabela apresentada, bem como o fato de ela não possuir nenhum registro adicionado e o SGDB utilizado para ser um usuário com permissões de administrador, assinale a afirmativa INCORRETA.

  1. AO comando EXEC sp_help 'dbo.LOG' pode ser utilizado para exibir as propriedades da tabela no SQL Server.
  2. BO comando EXEC sp_rename 'LOG', 'LOG_BACKUP' é válido para renomear a tabela de LOG para LOG_BACKUP.
  3. CO comando ALTER TABLE LOG REMOVE COLUMN DATAHORA é válido para remover a coluna DATAHORA da tabela.
  4. DO comando ALTER TABLE LOG ADD SISTEMA VARCHAR (50) NULL é válido para adicionar a coluna SISTEMA, que permite valores nulos.
  5. EO comando ALTER TABLE LOG ALTER COLUMN VALOR VARCHAR (100) NULL é válido para modificar a coluna VALOR para permitir valores nulos.
Revelar gabarito e comentário

GabaritoC — O comando ALTER TABLE LOG REMOVE COLUMN DATAHORA é válido para remover a coluna DATAHORA da tabela.

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

Comandos DDL no SQL Server: ALTER TABLE, sp_help e sp_rename

Gabarito: letra C. A afirmativa incorreta é a que propõe ALTER TABLE LOG REMOVE COLUMN DATAHORA — no SQL Server, o comando correto para remover uma coluna é ALTER TABLE ... DROP COLUMN, e não REMOVE COLUMN. As demais alternativas descrevem comandos válidos: sp_help exibe propriedades da tabela, sp_rename renomeia objetos e ALTER TABLE ... ADD / ALTER COLUMN são sintaxes corretas para adicionar e modificar colunas.

A questão cobra o domínio da sintaxe dos comandos de Data Definition Language (DDL) no Microsoft SQL Server, especificamente as variações do comando ALTER TABLE e os procedimentos armazenados do sistema sp_help e sp_rename. É um tema clássico em provas de banco de dados, pois exige que o candidato conheça a sintaxe exata de cada operação de alteração de estrutura — e a banca explora justamente a troca de palavras-chave que parecem intuitivas, mas não existem no dialeto T-SQL.

Vamos entender cada comando:

  • ALTER TABLE é o comando DDL usado para modificar a estrutura de uma tabela existente. As operações mais comuns são: adicionar coluna (ADD), remover coluna (DROP COLUMN), alterar o tipo ou a nulabilidade de uma coluna (ALTER COLUMN) e adicionar/remover restrições (ADD CONSTRAINT / DROP CONSTRAINT).

  • sp_help é um procedimento armazenado do sistema que retorna informações sobre um objeto do banco, como colunas, índices, restrições e propriedades gerais. É uma ferramenta de diagnóstico e documentação.

  • sp_rename é um procedimento armazenado do sistema que renomeia objetos criados pelo usuário, como tabelas, colunas, índices e aliases. A sintaxe básica é sp_rename 'objeto_atual', 'novo_nome'.

A pegadinha central está na alternativa C: a banca inventa a palavra-chave REMOVE, que não faz parte do vocabulário DDL do SQL Server. O comando correto para eliminar uma coluna é DROP COLUMN. Essa é uma armadilha clássica, pois o candidato pode ser levado a acreditar que REMOVE é sinônimo de DROP, mas não é.

Para fixar, veja a tabela comparativa das operações de ALTER TABLE:

Operação

Sintaxe correta no SQL Server

Adicionar coluna

ALTER TABLE tabela ADD coluna tipo [NULL/NOT NULL]

Remover coluna

ALTER TABLE tabela DROP COLUMN coluna

Alterar tipo/nulabilidade

ALTER TABLE tabela ALTER COLUMN coluna tipo [NULL/NOT NULL]

Adicionar restrição

ALTER TABLE tabela ADD CONSTRAINT nome ...

Remover restrição

ALTER TABLE tabela DROP CONSTRAINT nome

NÃO CAIA NESSA!

A banca troca DROP COLUMN por REMOVE COLUMN na alternativa C. No SQL Server, REMOVE não é um comando válido para estrutura — o candidato que conhece a sintaxe exata identifica o erro na hora. Fique atento a essas substituições de palavras-chave, pois são o principal distrator em questões de DDL.

Alternativa A — ✅ Correta

O comando EXEC sp_help 'dbo.LOG' é válido e utilizado para exibir as propriedades da tabela, como colunas, índices, restrições e outras informações de metadados. O sp_help é um procedimento armazenado do sistema que aceita o nome do objeto como parâmetro e retorna um relatório detalhado. Portanto, a afirmativa está correta.

Alternativa B — ✅ Correta

O comando EXEC sp_rename 'LOG', 'LOG_BACKUP' é válido para renomear a tabela LOG para LOG_BACKUP. O sp_rename é o procedimento correto para renomear objetos no SQL Server, e a sintaxe apresentada está adequada. A afirmativa está correta.

Alternativa C — ❌ Incorreta ⟵ GABARITO

A afirmativa propõe ALTER TABLE LOG REMOVE COLUMN DATAHORA, mas REMOVE não é uma palavra-chave válida no SQL Server para remover colunas. O comando correto é ALTER TABLE LOG DROP COLUMN DATAHORA. A banca troca DROP por REMOVE, criando um distrator que parece intuitivo, mas não existe na sintaxe T-SQL. Portanto, a afirmativa está incorreta.

Alternativa D — ✅ Correta

O comando ALTER TABLE LOG ADD SISTEMA VARCHAR (50) NULL é válido para adicionar a coluna SISTEMA com tipo VARCHAR(50) e permitir valores nulos. A sintaxe ADD coluna tipo [NULL] é a correta para adicionar uma nova coluna. A afirmativa está correta.

Alternativa E — ✅ Correta

O comando ALTER TABLE LOG ALTER COLUMN VALOR VARCHAR (100) NULL é válido para modificar a coluna VALOR para o tipo VARCHAR(100) e permitir valores nulos. A sintaxe ALTER COLUMN coluna tipo [NULL] é a correta para alterar a definição de uma coluna existente. A afirmativa está correta.

Conclusão: A única afirmativa incorreta é a letra C, pois REMOVE COLUMN não é uma sintaxe válida no SQL Server — o correto é DROP COLUMN. Portanto, o gabarito é a letra C.

Gabarito: letra C

Link permanente: /questoes/qa698890