Articulo de referencia

Validación de datos

En informática , la validación de datos o validación de entrada es el proceso de asegurar que los datos hayan sido depurados para confirmar su calidad , es decir, que sean corre...

En informática , la validación de datos o validación de entrada es el proceso de asegurar que los datos hayan sido depurados para confirmar su calidad , es decir, que sean correctos y útiles. Para ello, se utilizan rutinas, a menudo denominadas "reglas de validación", "restricciones de validación" o "rutinas de verificación", que comprueban la corrección, la relevancia y la seguridad de los datos introducidos en el sistema. Estas reglas pueden implementarse mediante las funciones automatizadas de un diccionario de datos o mediante la inclusión de lógica de validación explícita en el programa de aplicación del ordenador y su aplicación.

Esto es distinto de la verificación formal , que intenta probar o refutar la corrección de los algoritmos para implementar una especificación o propiedad.

Descripción general

La validación de datos tiene como objetivo proporcionar ciertas garantías bien definidas sobre la idoneidad y la coherencia de los datos en una aplicación o sistema automatizado. Las reglas de validación de datos pueden definirse y diseñarse utilizando diversas metodologías y desplegarse en diversos contextos. [ 1 ] Su implementación puede utilizar reglas declarativas de integridad de datos o reglas de negocio basadas en procedimientos . [ 2 ]

Las garantías de validación de datos no incluyen necesariamente la exactitud, y es posible que se acepten como válidos errores de introducción de datos, como faltas de ortografía. Se pueden aplicar otros controles administrativos o informáticos para reducir la inexactitud dentro de un sistema.

Diferentes tipos

Al evaluar los fundamentos de la validación de datos, se pueden hacer generalizaciones sobre los diferentes tipos de validación según su alcance, complejidad y propósito.

Por ejemplo:

  • Validación del tipo de datos;
  • Validación de rango y restricciones;
  • Validación de códigos y referencias cruzadas;
  • Validación estructurada ; y
  • Validación de consistencia

Verificación del tipo de datos

La validación del tipo de datos se realiza habitualmente en uno o más campos de datos simples.

La validación de tipos de datos más sencilla verifica que los caracteres individuales proporcionados por el usuario sean coherentes con los caracteres esperados de uno o más tipos de datos primitivos conocidos , tal como se definen en un lenguaje de programación o en un mecanismo de almacenamiento y recuperación de datos.

Por ejemplo, un campo de tipo entero puede requerir que la entrada utilice únicamente los caracteres del 0 al 9.

Comprobación simple de rango y restricción

La validación simple de rangos y restricciones puede examinar la entrada para comprobar su coherencia con un rango mínimo/máximo, o con una prueba para evaluar una secuencia de caracteres, como una o más pruebas con expresiones regulares. Por ejemplo, se puede requerir que el valor de un contador sea un número entero no negativo, y que una contraseña tenga una longitud mínima y contenga caracteres de varias categorías.

Verificación de códigos y referencias cruzadas

La validación de códigos y referencias cruzadas incluye operaciones para verificar que los datos sean coherentes con una o más reglas, requisitos o conjuntos de datos posiblemente externos, relevantes para una organización, contexto o conjunto de supuestos subyacentes específicos. Estas restricciones de validez adicionales pueden implicar la comparación de los datos proporcionados con una tabla de búsqueda conocida o un servicio de información de directorio como LDAP .

Por ejemplo, podría ser necesario que el usuario proporcione un código de país para identificar una región geopolítica actual.

Verificación estructurada

La validación estructurada permite combinar otros tipos de validación con un procesamiento más complejo. Este procesamiento complejo puede incluir la comprobación de restricciones condicionales para un objeto de datos complejo completo o un conjunto de operaciones de proceso dentro de un sistema.

Verificación de consistencia

La validación de coherencia garantiza que los datos sean lógicos. Por ejemplo, se puede prohibir que la fecha de entrega de un pedido sea anterior a su fecha de envío.

Ejemplo

Existen varios tipos de validación de datos relevantes para los ISBN de 10 dígitos anteriores a 2007 (la edición de 2005 de la norma ISO 2108 exigió que los ISBN tuvieran 13 dígitos a partir de 2007 [ 3 ] ).

  • Tamaño. Un ISBN anterior a 2007 debe constar de 10 dígitos, con guiones o espacios opcionales que separen sus cuatro partes.
  • Comprobaciones de formato. Cada uno de los primeros 9 dígitos debe ser del 0 al 9, y el décimo debe ser del 0 al 9 o una X.
  • Dígito de control . Para detectar errores de transcripción en los que se han alterado o transpuesto dígitos, el último dígito de un ISBN anterior a 2007 debe coincidir con el resultado de una fórmula matemática que incorpore los otros 9 dígitos ( dígitos de control ISBN-10 ).

Tipos de validación

Comprobaciones de caracteres permitidas
Se realizan comprobaciones para asegurar que solo se incluyan los caracteres esperados en un campo. Por ejemplo, un campo numérico solo permite los dígitos del 0 al 9, el punto decimal y, posiblemente, un signo menos o comas. Un campo de texto, como un nombre personal, podría no permitir caracteres de formato . Una dirección de correo electrónico podría requerir al menos un símbolo @ y otros detalles estructurales. Las expresiones regulares son una forma eficaz de implementar estas comprobaciones.
Totales del lote
Verificación de registros faltantes. Los campos numéricos pueden sumarse para todos los registros de un lote. Se ingresa el total del lote y la computadora verifica que el total sea correcto, por ejemplo, sumando el campo "Costo total" de varias transacciones.
Verificación de cardinalidad
Verifica que un registro tenga un número válido de registros relacionados. Por ejemplo, si un registro de contacto se clasifica como "cliente", debe tener al menos un pedido asociado (cardinalidad > 0). Este tipo de regla puede complicarse con condiciones adicionales. Por ejemplo, si un registro de contacto en una base de datos de nóminas se clasifica como "exempleado", no debe tener pagos de salario asociados posteriores a la fecha de separación (cardinalidad = 0).
Dígitos de control
Se utiliza para datos numéricos. Para facilitar la detección de errores, se añade un dígito adicional al número, que se calcula a partir de los demás dígitos.
Controles de consistencia
Comprueba los campos para asegurar que los datos que contienen se correspondan; por ejemplo, si la fecha de caducidad es anterior a la fecha de vencimiento, el estado no es "activo".
Comprobaciones de coherencia entre sistemas
Compara datos de diferentes sistemas para garantizar su coherencia. Los sistemas pueden representar los mismos datos de forma diferente, en cuyo caso la comparación requiere una transformación (por ejemplo, un sistema puede almacenar el nombre del cliente en un único campo Nombre como 'Doe, John Q', mientras que otro utiliza Nombre 'John', Apellido 'Doe' y Segundo nombre 'Quality').
comprobaciones de tipo de datos
Comprueba que la entrada de datos coincida con los datos introducidos. Por ejemplo, un campo de entrada que acepta datos numéricos puede rechazar la letra 'O'.
Comprobación de existencia de archivos
Comprueba que exista un archivo con el nombre especificado. Esta comprobación es esencial para los programas que utilizan la gestión de archivos.
Comprobación de formato
Comprueba que los datos estén en un formato específico (plantilla); por ejemplo, las fechas deben tener el formato AAAA-MM-DD. Para este tipo de validación se pueden utilizar expresiones regulares.
Verificación de presencia
Verifica que los datos estén presentes; por ejemplo, es posible que se requiera que los clientes tengan una dirección de correo electrónico.
Comprobación de campo de tiro
Comprueba que los datos se encuentren dentro de un rango de valores especificado; por ejemplo, una probabilidad debe estar entre 0 y 1.
Integridad referencial
Los valores de dos tablas de una base de datos relacional pueden vincularse mediante claves foráneas y primarias. Si los valores del campo de clave foránea no están restringidos por mecanismos internos, deben validarse para garantizar que la tabla que realiza la referencia siempre haga referencia a una fila de la tabla referenciada.
Corrección ortográfica y gramatical
Busca errores ortográficos y gramaticales.
Verificación de unicidad
Comprueba que cada valor sea único. Esto se puede aplicar a varios campos (por ejemplo, Dirección, Nombre, Apellido).
Comprobación de búsqueda en tabla
Una comprobación de búsqueda en tabla compara los datos con una colección de valores permitidos.

Acciones posteriores a la validación

Medidas coercitivas
La acción correctiva generalmente rechaza la solicitud de ingreso de datos y exige que el usuario realice un cambio para que los datos cumplan con los requisitos. Esto es ideal para el uso interactivo, donde una persona real está frente a la computadora ingresando datos. También funciona bien para la carga por lotes, donde se puede rechazar un archivo ingresado y se envía un conjunto de mensajes al origen de los datos explicando el motivo del rechazo.
Otra forma de control implica modificar automáticamente los datos y guardar una versión que cumpla con los requisitos en lugar de la original. Esto resulta más adecuado para cambios estéticos. Por ejemplo, convertir una entrada en mayúsculas a formato Pascal Case no requiere la intervención del usuario. Un uso inapropiado del control automático se daría en situaciones donde este conlleva la pérdida de información empresarial. Por ejemplo, guardar un comentario truncado si su longitud es mayor de la esperada. Esto no suele ser recomendable, ya que puede resultar en la pérdida de datos importantes.
Acción consultiva
Las acciones de asesoramiento generalmente permiten ingresar datos sin modificaciones, pero envían un mensaje al actor de origen indicando los problemas de validación detectados. Esto resulta más adecuado para sistemas no interactivos, sistemas donde el cambio no es crítico para el negocio, para la limpieza de datos existentes y para la verificación de un proceso de ingreso de datos.
Acción de verificación
Las acciones de verificación son casos especiales de acciones de asesoramiento. En este caso, se le pide al usuario que verifique que los datos que ingresa son los que realmente desea, considerando una sugerencia en sentido contrario. Aquí, el paso de verificación sugiere una alternativa (por ejemplo, al verificar una dirección postal, se muestra un formato diferente o se sugiere una dirección completamente distinta). En este caso, conviene darle al usuario la opción de aceptar la recomendación o mantener su versión. Este proceso no es una validación estricta, por diseño, y resulta útil para capturar direcciones de una nueva ubicación o de una ubicación que aún no es compatible con las bases de datos de validación.
Registro de validación
Incluso en los casos en que la validación de datos no encontró ningún problema, es importante proporcionar un registro de las validaciones que se realizaron y sus resultados. Esto es útil para identificar cualquier verificación de validación de datos faltante a la luz de los problemas de datos y para mejorar

Validación y seguridad

Los fallos u omisiones en la validación de datos pueden provocar corrupción de datos o una vulnerabilidad de seguridad . [ 4 ] La validación de datos comprueba que los datos sean adecuados para su propósito, [ 5 ] válidos, sensatos, razonables y seguros antes de ser procesados.

Véase también

Referencias

  1. Metodología para la validación de datos 1.0
  2. Validación de datos, integridad de datos, diseño de aplicaciones distribuidas con Visual Studio .NET
  3. Preguntas frecuentes sobre el nuevo estándar ISBN Archivado el 10/06/2007 en Wayback Machine ISO .
  4. Capítulo 10. Validación de datos
  5. Validación de datos más eficiente con Spotless
  • Validación de datos , OWASP
  • Validación de entrada , serie de guías rápidas de OWASP, github.com
Obtenido de " https://en.wikipedia.org/w/index.php?title=Data_validation&oldid=1337449520 "