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: 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.
- A)O comando EXEC sp_help 'dbo.LOG' pode ser utilizado para exibir as propriedades da tabela no SQL Server.
Certa, porque o procedimento armazenado sp_help mostra propriedades e metadados do objeto informado, como a tabela dbo.LOG.
- B)O comando EXEC sp_rename 'LOG', 'LOG_BACKUP' é válido para renomear a tabela de LOG para LOG_BACKUP.
Certa, pois sp_rename pode renomear objetos no SQL Server, inclusive tabelas, desde que a sintaxe seja informada corretamente.
- C)O comando ALTER TABLE LOG REMOVE COLUMN DATAHORA é válido para remover a coluna DATAHORA da tabela.
Errada, porque o SQL Server nao usa REMOVE COLUMN para excluir coluna; o comando correto e ALTER TABLE ... DROP COLUMN.
- D)O comando ALTER TABLE LOG ADD SISTEMA VARCHAR (50) NULL é válido para adicionar a coluna SISTEMA, que permite valores nulos.
Certa, porque ALTER TABLE ... ADD permite adicionar nova coluna com a definicao indicada, inclusive aceitando NULL.
- E)O comando ALTER TABLE LOG ALTER COLUMN VALOR VARCHAR (100) NULL é válido para modificar a coluna VALOR para permitir valores nulos.
Certa, pois ALTER TABLE ... ALTER COLUMN pode alterar a definicao da coluna, incluindo tipo e permissao para valores nulos.
Gabarito: C
Quando voce trabalha com tabelas no SQL Server, as operacoes de manutencao mais comuns passam por ver propriedades, renomear objetos e alterar a estrutura da tabela com comandos DDL. No caso da questao, a tabela LOG esta vazia, mas isso nao muda a sintaxe: o que manda aqui e a regra do comando SQL, nao o fato de nao haver registros. O ponto central e que, no SQL Server, para excluir uma coluna a sintaxe correta e ALTER TABLE nome_da_tabela DROP COLUMN nome_da_coluna. Nao existe o verbo REMOVE COLUMN nessa instrucao. Por isso a alternativa C esta errada: ela tenta usar uma forma que parece intuitiva, mas nao faz parte da linguagem do SQL Server. As demais alternativas trazem comandos plausiveis e aceitos no SQL Server: sp_help para consultar informacoes do objeto, sp_rename para renomear tabela, ALTER TABLE ADD para incluir coluna e ALTER TABLE ALTER COLUMN para mudar definicoes da coluna, como tipo ou nulabilidade. Em provas, a banca adora trocar um verbo por outro e ver se voce cai no truque. Resumo de ouro: em SQL Server, para remover coluna, lembre de DROP COLUMN. Se aparecer REMOVE COLUMN, pode desconfiar imediatamente. Esse tipo de questao cobra sintaxe exata, e a linguagem nao perdoa improviso.