Exercícios
Avalie seus conhecimentos sobre desenvolvimento seguro e eficiente de stored procedures. Este questionário aborda características e diferenças entre procedures e funções armazenadas, uso de parâmetros de entrada e saída, transações, atomicidade e tratamento de exceções. Você também testará boas práticas de desempenho, como operações em conjunto para atualização de grandes volumes de dados, além de segurança em SQL dinâmico, prevenção contra injeção SQL e aplicação do princípio do menor privilégio. Explore ainda conceitos de idempotência, contratos estáveis, impactos do SELECT * após mudanças no esquema e a importância de condições de parada em procedures recursivas.
Responda às questões abaixo e confira a explicação de cada resposta.
0/15 respondidas
Áudio automático ativado: as próximas questões serão lidas ao clicar em Continuar.
Uma stored procedure é uma rotina nomeada e armazenada no banco, composta por comandos que podem ser executados mediante uma chamada.
Parâmetros de entrada permitem enviar valores, como identificadores e datas, que controlam filtros, cálculos ou operações executadas pela rotina.
Um parâmetro de saída transporta um valor da procedure para quem a chamou. No diagrama, esse fluxo é representado pela seta 2.
Agrupar operações relacionadas em uma chamada pode reduzir a comunicação entre aplicação e banco. Isso não substitui índices nem garante desempenho constante.
Em muitos SGBDs, funções retornam valores e podem participar de expressões. As diferenças exatas e as operações permitidas variam entre produtos.
A atomicidade exige que a operação seja concluída por inteiro ou totalmente desfeita. Um rollback evita que apenas o débito permaneça registrado.
O tratamento de exceções permite responder de forma previsível a falhas, desfazendo alterações quando necessário e fornecendo informações úteis ao chamador.
Operações baseadas em conjuntos aproveitam melhor o mecanismo do SGBD e geralmente evitam o custo do processamento linha a linha com cursores.
Selecionar colunas explicitamente torna o contrato de saída mais estável. Com SELECT *, alterações na tabela podem afetar consumidores da procedure.
O menor privilégio concede apenas os acessos necessários. Permitir a execução da rotina sem liberar acesso direto às tabelas reduz a superfície de exposição.
Idempotência significa que repetir uma operação com a mesma intenção mantém o estado equivalente ao obtido após a primeira execução bem-sucedida.
Um contrato documentado ajuda aplicações e desenvolvedores a compreender entradas, saídas e efeitos. Mudanças incompatíveis devem ser controladas e versionadas.
Parâmetros vinculados separam dados do código SQL e reduzem o risco de injeção. Identificadores dinâmicos, quando indispensáveis, exigem validação por lista permitida.
Vincular o valor a um marcador evita que seu conteúdo seja interpretado como parte da sintaxe do comando, mitigando a injeção de SQL.
Uma condição de parada encerra a cadeia de chamadas recursivas. Sem ela, a procedure pode exceder limites do SGBD e consumir recursos desnecessariamente.

Curso GratuitoBanco de dados MySQL
5h25m
25 exercícios

Curso GratuitoModelagem de Banco de Dados Relacionais
3h04m
15 exercícios

Curso GratuitoEstrutura de dados
4h27m
3 exercícios

Curso GratuitoBanco de dados completo
6h16m
5 exercícios

Curso GratuitoBanco de dados SQL Server passo a passo
16h24m
57 exercícios

Curso GratuitoModelagem de dados
8h58m
27 exercícios

Curso GratuitoMySql
7h51m
17 exercícios

Curso GratuitoBanco de dados MySql
8h29m
48 exercícios
Milhares de cursos online em vídeo, ebooks e áudiobooks.
Para testar seus conhecimentos no decorrer dos cursos online
Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail
Baixe nosso aplicativo pelo QR Code ou pelos links abaixo:.
+ de 10 milhões
de alunos
Certificado grátis e
válido em todo o Brasil
60 mil exercícios
gratuitos
4,8/5 classificação
nas lojas de apps
Cursos gratuitos em
vídeo, ebooks e audiobooks