Data de validade - Data validation

Em ciência da computação , a validação de dados é o processo de garantir que os dados tenham passado por uma limpeza de dados para garantir que tenham qualidade de dados , ou seja, que sejam corretos e úteis. Ele usa rotinas, geralmente chamadas de "regras de validação", "restrições de validação" ou "rotinas de verificação", que verificam a correção, o significado e a segurança dos dados que são inseridos no sistema. As regras podem ser implementadas por meio de recursos automatizados de um dicionário de dados ou pela inclusão de lógica de validação de programa de aplicativo explícita do computador e de sua aplicação.

Isso é diferente da verificação formal , que tenta provar ou refutar a correção dos algoritmos para implementar uma especificação ou propriedade.

Visão geral

A validação de dados se destina a fornecer certas garantias bem definidas para adequação e consistência de dados em um aplicativo ou sistema automatizado. As regras de validação de dados podem ser definidas e projetadas usando várias metodologias e ser implantadas em vários contextos. Sua implementação pode usar regras declarativas de integridade de dados ou regras de negócios baseadas em procedimentos .

Observe que as garantias de validação de dados não incluem necessariamente precisão, e é possível que erros de entrada de dados, como erros ortográficos, sejam aceitos como válidos. Outros controles administrativos e / ou de computador podem ser aplicados para reduzir a imprecisão em um sistema.

Tipos diferentes

Ao avaliar os fundamentos da validação de dados, generalizações podem ser feitas em relação aos diferentes tipos de validação de acordo com seu escopo, complexidade e propósito.

Por exemplo:

  • Validação de tipo de dados;
  • Validação de alcance e restrição;
  • Validação de código e referência cruzada;
  • Validação estruturada; e
  • Validação de consistência

Verificação de tipo de dados

A validação do tipo de dados é normalmente realizada em um ou mais campos de dados simples.

O tipo mais simples de validação de tipo de dados verifica se os caracteres individuais fornecidos por meio da entrada do usuário são consistentes com os caracteres esperados de um ou mais tipos de dados primitivos conhecidos, conforme definido em uma linguagem de programação ou armazenamento de dados e mecanismo de recuperação.

Por exemplo, um campo inteiro pode exigir que a entrada use apenas caracteres de 0 a 9.

Limite simples e verificação de restrição

O intervalo simples e a validação de restrição podem examinar a consistência da entrada com um intervalo mínimo / máximo, ou consistência com um teste para avaliar uma sequência de caracteres, como um ou mais testes em comparação com expressões regulares. Por exemplo, pode ser necessário que um valor de contador seja um número inteiro não negativo e uma senha pode ser exigida para atender a um comprimento mínimo e conter caracteres de várias categorias.

Código e verificação de referência cruzada

A validação de código e referência cruzada inclui operações para verificar se os dados são consistentes com uma ou mais regras, requisitos ou coleções possivelmente externas relevantes para uma determinada organização, contexto ou conjunto de suposições subjacentes. Essas restrições de validade adicionais podem envolver referência cruzada de dados fornecidos com uma tabela de consulta conhecida ou serviço de informações de diretório, como o LDAP .

Por exemplo, um código de país fornecido pelo usuário pode ser necessário para identificar uma região geopolítica atual.

Cheque estruturado

A validação estruturada permite a combinação de outros tipos de validação, juntamente com um processamento mais complexo. Tal processamento complexo pode incluir o teste de restrições condicionais para todo um objeto de dados complexo ou conjunto de operações de processo dentro de um sistema.

Checagem de Consistência

A validação de consistência garante que os dados sejam lógicos. Por exemplo, a data de entrega de um pedido pode ser proibida de anteceder a data de envio.

Exemplo

Vários tipos de validação de dados são relevantes para ISBNs de 10 dígitos anteriores a 2007 (a edição de 2005 da ISO 2108 exigia que os ISBNs tivessem 13 dígitos de 2007 em diante).

  • Tamanho. Um ISBN anterior a 2007 deve consistir em 10 dígitos, com hifens ou espaços opcionais separando suas quatro partes.
  • Verificações de formato. Cada um dos primeiros 9 dígitos, deve ser de 0 a 9, e o 10 deve ser de 0 a 9 ou um X .
  • Verifique o dígito . Para detectar erros de transcrição em que os dígitos foram alterados ou transpostos, o último dígito de um ISBN anterior a 2007 deve corresponder ao resultado de uma fórmula matemática que incorpora os outros 9 dígitos (dígitos de verificação do ISBN-10 ).

Tipos de Validação

Verificações de personagem permitidas
Verifica se apenas os caracteres esperados estão presentes em um campo. Por exemplo, um campo numérico pode permitir apenas os dígitos de 0 a 9, o ponto decimal e talvez um sinal de menos ou vírgulas. Um campo de texto, como um nome pessoal, pode não permitir caracteres usados ​​para marcação . Um endereço de e-mail pode exigir pelo menos um sinal @ e vários outros detalhes estruturais. As expressões regulares podem ser maneiras eficazes de implementar essas verificações.
Totais de lote
Verifica se há registros ausentes. Os campos numéricos podem ser adicionados juntos para todos os registros em um lote. O total do lote é inserido e o computador verifica se o total está correto, por exemplo, adicione o campo 'Custo total' de várias transações.
Verificação de cardinalidade
Verifica se o registro possui um número válido de registros relacionados. Por exemplo, se um registro de contato for classificado como "cliente", ele deve ter pelo menos um pedido associado (cardinalidade> 0). Esse tipo de regra pode ser complicado por condições adicionais. Por exemplo, se um registro de contato em um banco de dados da folha de pagamento for classificado como "ex-funcionário", ele não deve ter nenhum pagamento de salário associado após a data de separação (cardinalidade = 0).
Dígitos de verificação
Usado para dados numéricos. Para suportar a detecção de erros, um dígito extra é adicionado a um número que é calculado a partir dos outros dígitos.
Verificações de consistência
Verifica os campos para garantir que os dados nesses campos correspondem, por exemplo, se a data de expiração for no passado, o status não é "ativo".
Verificações de consistência entre sistemas
Compara dados em sistemas diferentes para garantir que sejam consistentes. Os sistemas podem representar os mesmos dados de maneira diferente, caso em que a comparação requer transformação (por exemplo, um sistema pode armazenar o nome do cliente em um único campo Nome como 'Doe, John Q', enquanto outro usa First_Name 'John' e Last_Name 'Doe' e Middle_Name 'Qualidade').
Verificações de tipo de dados
Verifica a conformidade da entrada com os dados digitados. Por exemplo, uma caixa de entrada que aceita dados numéricos pode rejeitar a letra 'O'.
Verificação de existência de arquivo
Verifica se existe um arquivo com um nome especificado. Essa verificação é essencial para programas que usam manipulação de arquivos.
Verificação de formato
Verifica se os dados estão em um formato especificado (modelo), por exemplo, as datas devem estar no formato AAAA-MM-DD. Expressões regulares podem ser usadas para este tipo de validação.
Verificação de presença
Verifica se os dados estão presentes, por exemplo, pode ser necessário que os clientes tenham um endereço de e-mail.
Verificação de alcance
Verifica se os dados estão dentro de um intervalo de valores especificado, por exemplo, uma probabilidade deve estar entre 0 e 1.
Integridade referencial
Os valores em duas tabelas de banco de dados relacional podem ser vinculados por meio de chave estrangeira e chave primária. Se os valores no campo de chave estrangeira não forem restringidos por mecanismos internos, eles devem ser validados para garantir que a tabela de referência sempre se refira a uma linha na tabela referenciada.
Verificação ortográfica e gramatical
Procura erros ortográficos e gramaticais.
Verificação de exclusividade
Verifica se cada valor é único. Isso pode ser aplicado a vários campos (ou seja, endereço, nome, sobrenome).
Verificação de consulta de mesa
Uma verificação de consulta de tabela compara os dados com uma coleção de valores permitidos.

Ações pós-validação

Ação de execução
A ação de imposição geralmente rejeita a solicitação de entrada de dados e exige que o ator de entrada faça uma mudança que traga os dados em conformidade. Isso é mais adequado para uso interativo, onde uma pessoa real está sentada no computador e digitando. Também funciona bem para upload em lote, em que uma entrada de arquivo pode ser rejeitada e um conjunto de mensagens enviadas de volta à fonte de entrada explicando por que os dados foram rejeitados.
Outra forma de ação de imposição envolve a alteração automática dos dados e o salvamento de uma versão compatível em vez da versão original. Isso é mais adequado para mudanças cosméticas. Por exemplo, converter uma entrada [all-caps] em uma entrada [case Pascal] não precisa da entrada do usuário. Um uso inadequado da imposição automática seria em situações em que a imposição leva à perda de informações comerciais. Por exemplo, salvar um comentário truncado se o comprimento for maior do que o esperado. Normalmente, isso não é bom, pois pode resultar na perda de dados significativos.
Ação Consultiva
As ações consultivas geralmente permitem que os dados sejam inseridos inalterados, mas envia uma mensagem ao ator de origem indicando os problemas de validação encontrados. Isso é mais adequado para sistemas não interativos, para sistemas em que a mudança não é crítica para o negócio, para etapas de limpeza de dados existentes e para etapas de verificação de um processo de entrada.
Ação de Verificação
As ações de verificação são casos especiais de ações consultivas. Nesse caso, o ator de origem é solicitado a verificar se esses dados são os que eles realmente gostariam de inserir, à luz de uma sugestão em contrário. Aqui, a etapa de verificação sugere uma alternativa (por exemplo, a verificação de um endereço de correspondência retorna uma maneira diferente de formatar esse endereço ou sugere um endereço totalmente diferente). Você gostaria, neste caso, de dar ao usuário a opção de aceitar a recomendação ou manter sua versão. Este não é um processo de validação estrito, por design, e é útil para capturar endereços para um novo local ou para um local que ainda não é suportado pelos bancos de dados de validação.
Log de validação
Mesmo nos casos em que a validação de dados não encontrou problemas, é importante fornecer um registro das validações realizadas e seus resultados. Isso é útil para identificar quaisquer verificações de validação de dados ausentes à luz dos problemas de dados e para melhorar a validação.

Validação e segurança

Falhas ou omissões na validação de dados podem levar à corrupção de dados ou a uma vulnerabilidade de segurança . A validação de dados verifica se os dados são adequados para o propósito, válidos, sensíveis, razoáveis ​​e seguros antes de serem processados.

Veja também

Referências

links externos