Pular para o conteúdo principal

Questão de Banco de Dados — SQL — Quadrix 2025

Banco de DadosSQL
Código
qg597695
Banca
Quadrix
Órgão
CREMESE
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas
Os dados são tão importantes que são considerados como o “novo petróleo” e armazená‑los é função dos SGBD. A partir dessa informação, julgue o item seguinte.Stored Procedures encapsulam lógica de negócio no banco de dados, melhorando o desempenho e a segurança ao evitar múltiplas consultas do cliente.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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

Stored Procedures: encapsulamento, desempenho e segurança no SGBD

Gabarito: CERTO (letra C). Stored procedures (procedimentos armazenados) são blocos de código SQL que ficam gravados e executados no próprio banco de dados, encapsulando a lógica de negócio no servidor. Isso reduz o tráfego de rede — o cliente envia uma única chamada em vez de múltiplas consultas — e permite controlar permissões de acesso com mais granularidade, reforçando a segurança. A afirmação está correta.

Uma stored procedure é, essencialmente, um programa que reside no SGBD. Em vez de a aplicação cliente executar várias instruções SQL separadas (cada uma viajando pela rede até o servidor), ela chama uma única rotina que já está compilada e pronta para rodar no banco. Esse é o coração do conceito: mover a lógica para perto dos dados. O ganho de desempenho vem de dois fatores: menos idas e vindas entre cliente e servidor (menos latência de rede) e a possibilidade de o SGBD reutilizar o plano de execução já otimizado da procedure, em vez de recompilar a consulta a cada chamada.

A segurança também é beneficiada. Com stored procedures, o administrador pode conceder ao usuário da aplicação apenas a permissão de EXECUTAR a procedure, sem dar acesso direto às tabelas subjacentes. Isso cria uma camada de abstração: o usuário não precisa (e não pode) manipular as tabelas diretamente — ele só interage com a interface definida pela procedure. É uma prática recomendada de segurança em bancos de dados, pois reduz a superfície de ataque e permite aplicar regras de negócio de forma centralizada, garantindo que toda alteração passe pelo mesmo caminho validado.

Na prática, imagine um sistema de vendas. Sem stored procedures, a aplicação cliente precisaria executar várias consultas para registrar uma venda: verificar o estoque, inserir o pedido, atualizar o estoque, calcular o imposto... Cada uma dessas operações é uma viagem de ida e volta pela rede. Com uma procedure registrar_venda, a aplicação envia uma única chamada com os parâmetros (produto, quantidade, cliente) e o banco executa toda a lógica internamente, em uma única transação. O resultado: menos tráfego, maior consistência e uma operação atômica.

A distinção que importa aqui é entre onde a lógica é executada. Em uma arquitetura de duas camadas (cliente-servidor), a lógica de negócio pode ficar na aplicação cliente, que envia comandos SQL individuais ao banco. Com stored procedures, essa lógica migra para o servidor de banco de dados. Essa é a fronteira que a questão explora: a afirmação descreve exatamente o papel das stored procedures — encapsular lógica no banco, melhorando desempenho (menos consultas do cliente) e segurança (controle de acesso centralizado).

A pegadinha que poderia existir aqui seria inverter os papéis — por exemplo, afirmar que stored procedures pioram o desempenho ou que são executadas no cliente. Mas a questão não cai nessa armadilha; ela descreve corretamente o conceito. O candidato que entende o papel das procedures no SGBD reconhece a afirmação como verdadeira sem hesitação.

  1. 1Cliente chama a procedure
  2. 2SGBD executa a lógica no servidor
  3. 3Retorna o resultado ao cliente
LEVEL · soulevel.com.br

Item — ✅ CERTO

A afirmação está correta. Stored procedures encapsulam lógica de negócio no banco de dados, sim. E os dois benefícios citados são precisos:

  • Desempenho: ao evitar múltiplas consultas do cliente, reduz-se o tráfego de rede e o overhead de comunicação. Em vez de várias idas e voltas, uma única chamada executa toda a lógica no servidor. Além disso, o SGBD pode reutilizar o plano de execução otimizado da procedure.

  • Segurança: o controle de acesso pode ser feito no nível da procedure. O usuário da aplicação recebe permissão apenas para executar a rotina, sem acesso direto às tabelas. Isso centraliza as regras de negócio e reduz a superfície de ataque.

Não há nenhum termo incorreto ou exagerado na afirmação. Ela descreve fielmente o papel das stored procedures em um SGBD relacional.

Gabarito: letra C (CERTO).

Link permanente: /questoes/qg597695