Questão de Banco de Dados — SGBD - Sistema de Gerenciamento de Banco de Dados — Avança SP 2024
Banco de Dados›SGBD - Sistema de Gerenciamento de Banco de Dados
Código
qg078047
Banca
Avança SP
Órgão
CISBRA - SP
Ano
2024
Nível
Superior
Cargo
Analista em T.I
Os ____ utilizam a programação modular. Eles encapsulam conjuntos de operações sobre os dados, ou seja, qualquer possível alteração no SGBD fica “escondida” da aplicação que fazem o acesso ao banco por meio deles. E ainda permitem que aplicações possam acessar o SGBD de maneira uniforme.Indique qual das alternativas a seguir melhor preenche a lacuna no texto acima.
ATriggers
BStore Procedures
CTransactions
DALTER FUNCTIONS
ESETs
Revelar gabarito e comentário▾
GabaritoB — Store Procedures
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 e uniformidade de acesso
Gabarito: letra B. As Stored Procedures (procedimentos armazenados) são blocos de código SQL pré-compilados e armazenados no SGBD, que encapsulam conjuntos de operações sobre os dados — exatamente o que o enunciado descreve: qualquer alteração no SGBD fica "escondida" da aplicação, que passa a acessar o banco de forma uniforme por meio delas. As demais alternativas não se encaixam: triggers são disparadas automaticamente por eventos, transactions são unidades lógicas de trabalho, e as opções D e E não são conceitos válidos de programação modular em banco de dados.
O que são Stored Procedures? São procedimentos armazenados no banco de dados, escritos em SQL (ou em linguagens procedurais como PL/SQL, T-SQL, PL/pgSQL), que agrupam uma sequência de comandos — consultas, inserções, atualizações, deleções, controle de fluxo — sob um nome. Quando uma aplicação precisa executar aquela lógica, ela simplesmente chama o procedimento, em vez de enviar cada comando SQL individualmente. Isso traz três benefícios centrais:
Encapsulamento: a lógica de acesso aos dados fica centralizada no SGBD. Se a estrutura das tabelas mudar, ou se a regra de negócio for alterada, o procedimento é atualizado uma única vez — a aplicação continua chamando o mesmo nome, sem precisar ser modificada. É a "programação modular" citada no enunciado.
Uniformidade de acesso: diferentes aplicações (web, desktop, mobile) podem chamar a mesma stored procedure da mesma forma, garantindo que todas usem a mesma lógica de acesso aos dados, com as mesmas regras de validação e segurança.
Desempenho e segurança: por serem pré-compiladas, reduzem o tráfego de rede (a aplicação envia apenas a chamada, não o script inteiro) e permitem conceder permissões de execução sem expor as tabelas diretamente.
Vamos comparar com os conceitos vizinhos para fixar:
Critério
Stored Procedure
Trigger
Transaction
Disparo
Chamada explícita pela aplicação
Automático, em resposta a eventos (INSERT, UPDATE, DELETE)
Iniciada explicitamente (BEGIN TRANSACTION)
Objetivo
Encapsular lógica de negócio e acesso
Garantir integridade/auditoria automaticamente
Garantir atomicidade, consistência, isolamento e durabilidade
Retorno
Pode retornar valores/result sets
Não retorna valores à aplicação
Não retorna valores; define uma unidade de trabalho
Controle
Total pela aplicação
Disparada pelo SGBD, sem controle direto da aplicação
Controlada pela aplicação, mas com propriedades do SGBD
A pegadinha da banca está em confundir stored procedure com trigger: ambas são objetos de programação no banco, mas a trigger não é chamada pela aplicação — ela é executada automaticamente quando um evento ocorre. O enunciado fala em "aplicações que fazem o acesso ao banco por meio deles" e "permitem que aplicações possam acessar o SGBD de maneira uniforme", o que aponta claramente para a chamada explícita de uma stored procedure.
Outra confusão comum é com transactions: uma transação é uma sequência de operações tratadas como uma unidade indivisível (atomicidade), mas ela não encapsula lógica de negócio nem é um objeto persistente chamado pela aplicação — é um conceito de controle de concorrência e recuperação. Já as stored procedures podem conter transações internamente, mas não se confundem com elas.
Guarde a fronteira: encapsulamento + chamada explícita + uniformidade = stored procedure. É exatamente esse trio que as alternativas tentam embaralhar.
Stored Procedures
1Encapsulam operações
Lógica centralizada no SGBD
Alterações ficam ocultas da aplicação
2Acesso uniforme
Aplicações chamam pelo nome
Mesma lógica para web, desktop, mobile
3Benefícios
Desempenho (pré-compiladas)
Segurança (permissões sem expor tabelas)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Triggers (gatilhos) são procedimentos que o SGBD executa automaticamente em resposta a eventos de manipulação de dados (INSERT, UPDATE, DELETE) em uma tabela. Elas não são chamadas pela aplicação e não servem para "acessar o SGBD de maneira uniforme" — pelo contrário, são disparadas pelo próprio banco, sem intervenção da aplicação. O enunciado descreve um objeto que a aplicação invoca explicitamente, o que não é o caso da trigger.
Alternativa B — ✅ Correta ⟵ GABARITO
Stored Procedures (procedimentos armazenados) são exatamente o que o texto descreve: utilizam programação modular, encapsulam conjuntos de operações sobre os dados, escondem alterações no SGBD da aplicação e permitem acesso uniforme. A aplicação chama o procedimento pelo nome, e o SGBD executa a lógica interna — se algo mudar no banco, só o procedimento é atualizado, e todas as aplicações continuam funcionando sem alteração.
Alternativa C — ❌ Incorreta
Transactions (transações) são unidades lógicas de trabalho compostas por uma ou mais operações de leitura/escrita, que devem ser executadas de forma atômica (tudo ou nada), garantindo consistência, isolamento e durabilidade. Elas não são objetos de programação modular que encapsulam operações de forma persistente, nem são chamadas pela aplicação como uma rotina — são um mecanismo de controle de concorrência e recuperação. O enunciado fala de "programação modular" e "encapsulam conjuntos de operações", o que não se aplica a transações.
Alternativa D — ❌ Incorreta
"ALTER FUNCTIONS" não é um conceito válido em banco de dados. O comando ALTER é usado para modificar a definição de objetos existentes (como ALTER TABLE, ALTER FUNCTION), mas "ALTER FUNCTIONS" como um tipo de objeto ou técnica de programação modular não existe. A banca incluiu essa opção apenas como distrator, misturando o comando SQL ALTER com o conceito de funções — que, aliás, são semelhantes a stored procedures, mas não são o que o enunciado descreve.
Alternativa E — ❌ Incorreta
"SETs" não é um conceito de programação modular em banco de dados. O comando SET é usado em SQL para atribuir valores (ex.: SET @var = 1) ou em operações de conjunto (UNION, INTERSECT, EXCEPT), mas não encapsula operações sobre dados nem é chamado pela aplicação como uma rotina. É um distrator sem relação com o enunciado.
Gabarito: letra B — Stored Procedures são a única alternativa que corresponde à descrição de programação modular, encapsulamento de operações e acesso uniforme ao SGBD.