Objetivo

Reconhecer atomicidade, isolamento e custo de consulta em um caso de ordens de serviço.

História

Dois supervisores tentam atribuir a mesma equipe no mesmo horário. Validar apenas no frontend não impede a corrida.

Hipótese a testar

Índice acelera padrões de consulta específicos e cobra custo de escrita; transação protege conjunto de mudanças, não toda regra automaticamente.

Pré-requisitos

  • dados
  • SQL básico

Simulador

Altere uma variável, antecipe o efeito e compare com o indicador. A escala mostra pressão relativa, não uma garantia de segurança.

Faixa controladaReveja o contrato e os testes antes de concluir.

Fluxo observado

  1. comando
  2. transação
  3. restrições
  4. índice/plano
  5. commit
  6. evento

O que observar

  • Constraint no banco protege contra todos os clientes.
  • Índice composto depende da ordem e do predicado.
  • Outbox evita salvar no banco e perder a publicação do evento.

Erros comuns e melhoria

Duplicidade rara

Causa: check-then-insert fora de constraint

Melhoria: Use chave única e trate o conflito.

Consulta piora após índice

Causa: Índice inadequado ou baixa seletividade

Melhoria: Compare plano e métricas com dados representativos.

Exercício guiado

  1. Modele restrição de equipe e horário.
  2. Escreva duas transações concorrentes.
  3. Compare caminho com e sem índice usando hipótese.

Desafio independente

Projete conclusão da OS e evento para ERP sem transação distribuída frágil.

Evidência exigida

Teste concorrente reproduzível, plano de consulta e explicação da garantia obtida.

Consulta universal

O que você quer encontrar?

Títulos, capítulos, conceitos, termos, laboratórios e ferramentas em uma única busca.

Digite pelo menos dois caracteres.