Skip to content

Posts

Centralize a Integridade dos Seus Dados

4 de maio de 2021 • 2 min de leitura

Centralize a Integridade dos Seus Dados

Sistemas (ou seja, bancos de dados) gerenciando sua integridade de dados parece senso comum, e em cenários simples, é senso comum. No entanto, quando as regras de negócio ficam complexas, é mais difícil validar os dados em um local central.

Quando um sistema (ou seja, um banco de dados) não consegue mais impor a forma dos dados, algo mais deve assumir essa responsabilidade. Quando isso pode acontecer?

O formato de número de telefone nos EUA é (código de área) (prefixo) – (número), aqui está um exemplo: (734) 555-3212. Vamos falar sobre o banco de dados neste artigo por simplicidade, mas o armazenamento de dados não precisa ser um banco de dados.

Números de telefone nos EUA sempre têm dez dígitos (estamos ignorando o dígito internacional). Números de telefone podem vir em uma variedade de formatos:

  • xxx.xxx.xxxx
  • xxx-xxx-xxxx
  • (xxx) xxx-xxxx
  • (xxx) xxx.xxxx

A maioria dos bancos de dados é limitada a tipos de dados (ou seja, números, strings, datas, etc.) e não suporta formatação. Muitas aplicações optam por usar o tipo de dados string para armazenar o número de telefone. No entanto, o tipo de dados string aceita QUALQUER string. Para garantir que o número de telefone seja válido, precisamos de uma camada adicional de validação.

Em uma única aplicação conectando a um único banco de dados, a validação de dados é tipicamente imposta na aplicação.

Quando sua arquitetura cresce para duas ou mais aplicações compartilhando um banco de dados, duas coisas podem acontecer:

1. Cada aplicação tem sua própria validação de dados:

2. Há um serviço central que as aplicações chamam para validar os dados e persistir os dados:

O risco da validação de dados em múltiplos lugares é que as validações podem ficar fora de sincronia. Um formato válido para uma aplicação pode não ser válido em outra aplicação. No pior caso, um formato ruim gerará um erro ou, em casos extremos, travará a aplicação.

O melhor caso é centralizar a validação de dados para que o formato armazenado no banco de dados seja consistente para toda a organização. Há exceções, é claro, e estou assumindo que múltiplas aplicações leem e escrevem em um banco de dados compartilhado.

Autor: Chuck Conway é especialista em engenharia de software e IA Generativa. Conecte-se com ele nas redes sociais: X (@chuckconway) ou visite-o no YouTube.

↑ Voltar ao topo

Você também pode gostar