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 se hayan limpiado para confirmar que tienen calidad , es decir, que son correctos y útiles. Utiliza rutinas, a menudo denominadas "reglas de validación", "restricciones de validación" o "rutinas de verificación", que verifican la exactitud, el significado y la seguridad de los datos que se ingresan al sistema. Las reglas pueden implementarse a través de las funciones automatizadas de un diccionario de datos , o mediante la inclusión de una lógica de validación del programa de aplicación explícita 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 sistema automatizado. Las reglas de validación de datos se pueden definir y diseñar utilizando varias metodologías y desplegarse en diversos contextos. [1] Su implementación puede utilizar reglas declarativas de integridad de datos o reglas comerciales 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 en el ingreso de datos, como faltas de ortografía. Se pueden aplicar otros controles administrativos y/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 sobre los diferentes tipos de validación según su alcance, complejidad y propósito.

Por ejemplo:

Verificación de tipo de datos

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

El tipo más simple de validación de tipos 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 define en un lenguaje de programación o mecanismo de almacenamiento y recuperación de datos.

Por ejemplo, un campo de número entero puede requerir que se ingresen solo caracteres del 0 al 9.

Verificación simple de rangos y restricciones

La validación de restricciones y rangos simples puede examinar la entrada para verificar la coherencia con un rango mínimo/máximo, o la coherencia con una prueba para evaluar una secuencia de caracteres, como una o más pruebas con expresiones regulares. Por ejemplo, es posible que se requiera que un valor de contador sea un número entero no negativo y que una contraseña cumpla con una longitud mínima y contenga caracteres de múltiples 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 consistentes con una o más reglas, requisitos o colecciones posiblemente externas relevantes para una organización, contexto o conjunto de suposiciones subyacentes en particular. Estas restricciones de validez adicionales pueden implicar referencias cruzadas de los datos proporcionados con una tabla de búsqueda conocida o un servicio de información de directorio como LDAP .

Por ejemplo, es posible que se requiera 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.

control de coherencia

La validación de la 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

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

Tipos de validación

Verificaciones de caracteres permitidas
Comprueba que solo los caracteres esperados estén presentes en un campo. Por ejemplo, es posible que un campo numérico solo permita 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 podría 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. Los campos numéricos se pueden sumar para todos los registros de un lote. Se ingresa el total del lote y la computadora verifica que el total sea correcto, por ejemplo, suma el campo 'Costo total' de varias transacciones.
Verificación de cardinalidad
Comprueba que el registro tenga un número válido de registros relacionados. Por ejemplo, si un registro de contacto se clasifica como "cliente", entonces 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ómina se clasifica como "antiguo empleado", entonces no debe tener ningún pago de salario asociado después de la fecha de separación (cardinalidad = 0).
verificar dígitos
Se utiliza para datos numéricos. Para admitir la detección de errores, se agrega un dígito adicional a un número que se calcula a partir de los otros dígitos.
Comprobaciones de coherencia
Comprueba los campos para garantizar que los datos de estos campos correspondan; por ejemplo, si la fecha de vencimiento ya pasó, entonces el estado no es "activo".
Comprobaciones de coherencia entre sistemas
Compara datos en diferentes sistemas para garantizar que sean consistentes. Los sistemas pueden representar los mismos datos de manera diferente, en cuyo caso la comparación requiere transformación (por ejemplo, un sistema puede almacenar el nombre del cliente en un único campo Nombre como 'Doe, John Q', mientras que otro usa Nombre 'John' y Apellido 'Doe' y Segundo nombre 'Calidad').
Comprobaciones de tipos de datos
Comprueba la conformidad de la entrada con los datos escritos. Por ejemplo, un cuadro de entrada que acepte datos numéricos puede rechazar la letra 'O'.
Comprobación de existencia de archivos
Comprueba que existe un archivo con un nombre especificado. Esta verificación es esencial para los programas que utilizan el manejo de archivos.
Verificación de formato
Comprueba que los datos estén en un formato específico (plantilla), por ejemplo, las fechas deben estar en 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 solicite a los clientes que tengan una dirección de correo electrónico.
Comprobación de rango
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 primaria. Si los valores en el campo de clave externa no están restringidos por mecanismos internos, entonces 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 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 (es decir, dirección, nombre, apellido).
Verificación de búsqueda de tabla
Una verificación de búsqueda de tabla compara los datos con una colección de valores permitidos.

Acciones posteriores a la validación

Acción de ejecución
La acción de cumplimiento generalmente rechaza la solicitud de ingreso de datos y requiere que el actor de entrada realice un cambio que haga que los datos cumplan. Esto es más adecuado para uso interactivo, donde una persona real está sentada frente a la computadora y realiza la entrada. 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 coercitiva 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 [caso Pascal] no necesita la entrada del usuario. Un uso inapropiado de la aplicación automática sería en situaciones en las que la aplicación conduce a la pérdida de información comercial. Por ejemplo, guardar un comentario truncado si la longitud es mayor de lo esperado. Por lo general, esto no es algo bueno, ya que puede provocar la pérdida de datos importantes.
Acción consultiva
Las acciones de asesoramiento normalmente permiten que los datos se ingresen sin cambios, pero envían un mensaje al actor de origen indicando los problemas de validación que se encontraron. Esto es más adecuado para sistemas no interactivos, para sistemas donde 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 consultivas. En este caso, se pide al actor fuente que verifique que estos datos son los que realmente desearía 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 postal arroja una forma diferente de formatear esa dirección o sugiere una dirección completamente diferente). En este caso, querrá darle al usuario la opción de aceptar la recomendación o conservar su versión. Este no es un proceso de validación estricto, por diseño, y es útil para capturar direcciones a una nueva ubicación o a 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 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 problemas de datos y para mejorar la validación.

Validación y seguridad

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

Ver también

Referencias

  1. ^ Metodología de 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