Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2023
- Código
- vu195947
- Banca
- VUNESP
- Órgão
- CIJUN
- Ano
- 2023
- Cargo
- Ana ( )
- ACREATE
- BSELECT
- CUPDATE
- DDELETE
- EINSERT
GabaritoC — UPDATE
Gabarito: letra C. O comando UPDATE é o responsável por modificar valores de registros já existentes em uma tabela — exatamente o que se precisa ao trocar o número de telefone de um funcionário. A operação de atualização pertence à sublinguagem DML (Data Manipulation Language), que agrupa os comandos que interagem com os dados dentro das tabelas.
O SQL (Structured Query Language) é a linguagem padrão para acesso e manipulação de bancos de dados relacionais. Ela é declarativa: o usuário especifica o que deseja, sem precisar dizer como o banco deve executar. Para entender qual comando usar, é essencial conhecer as sublinguagens e a função de cada comando. A DML é a que trata dos dados em si, e seus comandos são SELECT (consultar), INSERT (inserir), UPDATE (atualizar) e DELETE (excluir). Já a DDL (Data Definition Language) lida com a estrutura — CREATE, ALTER, DROP e TRUNCATE —, enquanto a DCL (Data Control Language) cuida de permissões com GRANT e REVOKE, e a DTL (Data Transaction Language) gerencia transações com COMMIT e ROLLBACK.
No caso concreto, o funcionário já existe no banco; não se trata de criar um registro novo (isso seria INSERT), nem de consultar (seria SELECT), nem de remover (seria DELETE). A necessidade é alterar o valor de uma coluna específica — o telefone — em um registro já cadastrado. Essa é a função precípua do UPDATE, que permite modificar um ou mais registros de uma tabela, geralmente combinado com a cláusula WHERE para especificar qual funcionário deve ser atualizado. Sem o WHERE, o comando alteraria todos os registros da tabela — um erro clássico e perigoso.
A pegadinha desta questão é justamente a distinção entre os comandos que manipulam dados (DML) e os que definem estrutura (DDL). O CREATE cria tabelas e outros objetos; ele não altera dados existentes. O candidato que confunde as sublinguagens pode marcar CREATE por associá-lo a "criar" algo, mas aqui o que se cria é um novo valor em um campo já existente — operação de atualização, não de criação de estrutura. Guarde o mapa: para cada operação sobre dados, há um comando DML específico — inserir (INSERT), consultar (SELECT), atualizar (UPDATE) e excluir (DELETE).
O CREATE é um comando da DDL (Data Definition Language), utilizado para criar objetos do banco, como tabelas, visões e índices. Ele não altera dados de registros existentes. A confusão aqui é associar "criar" à ideia de "criar um novo telefone", mas o comando correto para modificar um valor em um registro já existente é o UPDATE.
O SELECT é o comando de consulta de dados, usado para recuperar informações de uma ou mais tabelas. Ele não modifica nada no banco — apenas lê e retorna os dados solicitados. A tarefa descrita exige uma alteração no registro, não uma leitura.
O UPDATE é o comando da DML (Data Manipulation Language) responsável por atualizar valores de registros existentes em uma tabela. É exatamente o que se precisa: alterar o número de telefone de um funcionário já cadastrado. A sintaxe típica seria algo como UPDATE Funcionarios SET telefone = 'novo_numero' WHERE matricula = X; — a cláusula WHERE é fundamental para atingir apenas o registro desejado.
O DELETE é o comando da DML usado para excluir registros de uma tabela. A tarefa não é remover o funcionário, mas sim alterar um de seus dados. Usar DELETE aqui apagaria o registro inteiro, o que não atende à necessidade.
O INSERT é o comando da DML utilizado para inserir novos registros em uma tabela. O funcionário já existe no banco; não se trata de adicionar uma nova linha, mas de modificar um valor em uma linha já presente. Inserir um novo registro criaria um funcionário duplicado, em vez de atualizar o telefone do existente.
A banca explora a confusão entre os comandos que definem estrutura (DDL) e os que manipulam dados (DML). O CREATE parece atraente porque "cria" algo, mas ele cria objetos do banco (tabelas, índices), não valores em registros. A atualização de um dado existente é sempre UPDATE — memorize essa fronteira e você elimina essa pegadinha de imediato.
Para fixar, associe cada operação sobre dados ao seu comando DML: Criar → INSERT, Ler → SELECT, Atualizar → UPDATE, Deletar → DELETE. E lembre-se: UPDATE sem WHERE altera todos os registros da tabela — sempre filtre pelo identificador do registro.
Gabarito: letra C
Link permanente: /questoes/vu195947