stringtranslate.com

Validación de datos

En informática , la validación de datos o validación de entrada es el proceso de garantizar que los datos hayan sido sometidos a una limpieza de datos para confirmar que tienen calidad de datos , es decir, que son correctos y útiles. Utiliza rutinas, a menudo llamadas "reglas de validación", "restricciones de validación" o "rutinas de verificación", que verifican la corrección, la significatividad y la seguridad de los datos que se ingresan al sistema. Las reglas se pueden implementar a través de las funciones automatizadas de un diccionario de datos o mediante la inclusión de una lógica de validación explícita del programa de aplicación de la computadora y su aplicación.

Esto es distinto de la verificación formal , que intenta probar o refutar la exactitud 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 de idoneidad y coherencia de los datos en una aplicación o un sistema automatizado. Las reglas de validación de datos se pueden definir y diseñar utilizando diversas metodologías y se pueden implementar en diversos contextos. [1] Su implementación puede utilizar reglas de integridad de datos declarativas o reglas de negocio basadas en procedimientos . [2]

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

Diferentes tipos

Al evaluar los conceptos básicos de la validación de datos, se pueden hacer generalizaciones respecto de los diferentes tipos de validación según su alcance, complejidad y propósito.

Por ejemplo:

Comprobación del tipo de datos

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

El tipo más simple de validación de tipo de datos verifica que los caracteres individuales proporcionados a través de la entrada del usuario sean consistentes 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 entero puede requerir que la entrada utilice solo los caracteres del 0 al 9.

Comprobación sencilla de rango y restricciones

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

Comprobación de código 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 recopilaciones posiblemente externos relevantes para una organización, contexto o conjunto de supuestos subyacentes en particular. Estas restricciones de validez adicionales pueden implicar la comparación de los datos suministrados con una tabla de búsqueda conocida o un servicio de información de directorio como LDAP .

Por ejemplo, podría requerirse un código de país proporcionado por el usuario para identificar una región geopolítica actual.

Cheque estructurado

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

Comprobación de coherencia

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

Ejemplo

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

Tipos de validación

Comprobaciones de caracteres permitidas
Comprobaciones para determinar que en un campo solo estén presentes los caracteres esperados. Por ejemplo, un campo numérico puede permitir solo los dígitos del 0 al 9, el punto decimal y quizás un signo menos o comas. Un campo de texto, como un nombre personal, puede no permitir caracteres utilizados para el marcado . Una dirección de correo electrónico puede requerir al menos un signo @ y varios otros detalles estructurales. Las expresiones regulares pueden ser formas efectivas de implementar dichas comprobaciones.
Totales de lotes
Comprueba si faltan registros. Se pueden sumar los campos numéricos de 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.
Comprobación de cardinalidad
Comprueba que el registro tenga una cantidad válida 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 "ex empleado", no debe tener ningún pago de salario asociado después de 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 agrega un dígito adicional a un número que se calcula a partir de los demás dígitos.
Comprobaciones de coherencia
Comprueba los campos para garantizar que los datos en estos campos correspondan, por ejemplo, si la fecha de vencimiento es anterior a la fecha de vencimiento, el estado no es "activo".
Comprobaciones de coherencia entre sistemas
Compara datos en diferentes sistemas para garantizar que sean coherentes. 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 de nombre como "Doe, John Q", mientras que otro utiliza el nombre "John", el apellido "Doe" y el segundo nombre "Quality").
Comprobaciones de tipo de datos
Comprueba que la entrada se ajuste a los datos ingresados. Por ejemplo, un cuadro de entrada que acepte datos numéricos puede rechazar la letra "O".
Comprobación de existencia de archivo
Comprueba que existe un archivo con un nombre específico. Esta comprobación es esencial para los programas que utilizan el manejo 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. Se pueden utilizar expresiones regulares para este tipo de validación.
Control de presencia
Comprueba 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 alcance
Comprueba que los datos estén dentro de un rango específico de valores, por ejemplo, una probabilidad debe estar entre 0 y 1.
Integridad referencial
Los valores de dos tablas de bases de datos relacionales se pueden vincular mediante una clave externa y una clave principal. Si los valores del campo de clave externa no están restringidos por mecanismos internos, se deben validar para garantizar que la tabla de referencia siempre haga referencia a una fila de la tabla a la que se hace referencia.
Revisión de ortografía y gramática
Busca errores ortográficos y gramaticales.
Comprobació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 de tabla
Una comprobación de búsqueda de tabla compara datos con una colección de valores permitidos.

Acciones posteriores a la validación

Acción de cumplimiento
La acción de cumplimiento generalmente rechaza la solicitud de ingreso de datos y requiere que el actor que ingresa los datos realice un cambio que los haga cumplir con los requisitos. Esto es más adecuado para el uso interactivo, donde una persona real está sentada frente a la computadora y realiza los datos. También funciona bien para la carga por lotes, donde se puede rechazar la entrada de un archivo y enviar un conjunto de mensajes a la fuente de entrada explicando por qué se rechazan los datos.
Otra forma de acción de cumplimiento implica cambiar automáticamente los datos y guardar una versión conforme en lugar de la versión original. Esto es más adecuado para cambios cosméticos. Por ejemplo, convertir una entrada [en mayúsculas] en una entrada [en mayúsculas y minúsculas] no requiere la intervención del usuario. Un uso inadecuado de la aplicación automática sería en situaciones en las que la aplicación conduce a la pérdida de información empresarial. Por ejemplo, guardar un comentario truncado si la longitud es mayor de lo esperado. Esto no suele ser bueno, ya que puede provocar la pérdida de datos importantes.
Acción consultiva
Las acciones de asesoramiento suelen permitir que los datos se introduzcan sin modificaciones, pero envían un mensaje al actor de origen indicando los problemas de validación detectados. Esto es más adecuado para sistemas no interactivos, para sistemas en los que el cambio no es crítico para el negocio, para pasos de limpieza de datos existentes y para pasos de verificación de un proceso de entrada.
Acción de verificación
Las acciones de verificación son casos especiales de acciones de asesoramiento. En este caso, se le pide al actor de origen que verifique que estos datos son los que realmente desea ingresar, a la luz de una sugerencia en sentido contrario. Aquí, el paso de verificación sugiere una alternativa (por ejemplo, una verificación de una dirección de correo devuelve una forma diferente de formatear esa dirección o sugiere una dirección completamente diferente). En este caso, conviene darle al usuario la opción de aceptar la recomendación o mantener su versión. Este no es un proceso de validación estricto, por diseño, y es ú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 los que la validación de datos no detectó ningún problema, es importante proporcionar un registro de las validaciones realizadas y sus resultados. Esto resulta útil para identificar cualquier verificación de validación de datos faltante en vista de los problemas de datos y para mejorar la validación.

Validación y seguridad

Las fallas u omisiones en la validación de datos pueden llevar a la corrupción de datos o a una vulnerabilidad de seguridad . [4] La validación de datos verifica que los datos sean aptos para el 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 de junio de 2007 en Wayback Machine ISO .
  4. ^ Capítulo 10. Validación de datos
  5. ^ Validación de datos más eficiente con Spotless

Enlaces externos