Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2015

Banco de DadosSQL
Código
fc019791
Banca
FCC
Órgão
DPE-SP
Ano
2015
Nível
Médio
Cargo
Programador
O comando SQL correto é:
  1. AALTER TABLE Tab_InfJuv ADD FOREIGN KEY (ID_Unidade) REFERENCES Tab_InfJuv (ID);
  2. BALTER TABLE Tab_InfJuv ADD Nome_Menor varchar(100);
  3. CCREATE VIEW V_Tab_InfJuv AS SELECT Unidade, Defensor, ID_Unidade FROM Tab_InfJuv;
  4. DALTER TABLE TabInfJuv DROP Nome_Menor;
  5. EDELETE FROM TabInfJuv WHERE Defensor = 'Jorge da Silva';
Revelar gabarito e comentário

GabaritoB — ALTER TABLE Tab_InfJuv ADD Nome_Menor varchar(100);

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

SQL: Comando ALTER TABLE para adicionar coluna

Gabarito: letra B. Para adicionar uma nova coluna a uma tabela existente, utiliza-se o comando ALTER TABLE seguido da cláusula ADD com o nome da coluna e seu tipo de dados. A alternativa B é a única que segue corretamente essa sintaxe (ALTER TABLE Tab_InfJuv ADD Nome_Menor varchar(100)). As demais alternativas apresentam erros como referência a coluna inexistente, visão com coluna inexistente, nome de tabela incorreto ou tentativa de excluir coluna que não existe.

A banca testa o conhecimento básico de SQL DDL (Data Definition Language), especificamente o comando ALTER TABLE para adicionar colunas. O texto-base define a tabela Tab_InfJuv com as colunas ID, Unidade, Defensor e Tipo.

Alternativa A — ❌ Incorreta

Tenta adicionar uma chave estrangeira (FOREIGN KEY) referenciando a coluna ID_Unidade, que não existe na tabela. A tabela possui a coluna ID, mas não ID_Unidade. O comando falharia com erro de coluna inválida.

Alternativa B — ✅ Correta ⟵ GABARITO

Usa ALTER TABLE ... ADD para adicionar a coluna Nome_Menor do tipo varchar(100). A sintaxe está perfeitamente de acordo com o padrão SQL:

SQL (DDL):

ALTER TABLE nome_da_tabela
ADD nome_da_coluna tipo_de_dado;

Não há qualquer restrição ou coluna inexistente envolvida.

Alternativa C — ❌ Incorreta

Cria uma visão (CREATE VIEW) selecionando as colunas Unidade, Defensor e ID_Unidade. A coluna ID_Unidade não existe na tabela base, portanto a criação da visão falharia.

Alternativa D — ❌ Incorreta

Apresenta dois problemas: (1) o nome da tabela está escrito como TabInfJuv (sem underscore), enquanto a tabela real é Tab_InfJuv; (2) a coluna Nome_Menor não existe na tabela (nunca foi criada). Além disso, a sintaxe correta para remover coluna seria ALTER TABLE ... DROP COLUMN Nome_Menor, e não apenas DROP Nome_Menor.

Alternativa E — ❌ Incorreta

O nome da tabela está escrito incorretamente (TabInfJuv em vez de Tab_InfJuv). Mesmo que estivesse correto, DELETE apagaria registros, mas a sintaxe em si é válida (desconsiderando o nome errado). O erro principal é a grafia da tabela.

Gabarito: letra B

Link permanente: /questoes/fc019791