Validación de datos
En Ciencias de la computación, validación de datos es el proceso de garantizar que el programa opera en datos limpios, correctos y útiles. Utiliza las rutinas, a menudo llamadas"reglas de validación""restricciones de validación"o"comprobar las rutinas", ese cheque para corrección, significancia y seguridad de los datos que se introducen en el sistema. Las reglas pueden implementarse a través de las instalaciones automatizadas de un Diccionario de datos, o mediante la inclusión de explícito Programa de aplicación lógica de validación.
Contenido
- 1 Resumen
- 2 Diferentes tipos de validación
- 2.1 Tipo de datos de validación
- 2.2 Simple gama y restricción de validación
- 2.3 Validación de código y referencia cruzada
- 2.4 Validación estructurado
- 3 Métodos de validación
- 3.1 Acciones de validación posterior
- 4 Validación y seguridad
- 5 Véase también
- 6 Referencias
Resumen
Validación de datos está diseñada para proporcionar las garantías definidas para la aptitud, precisión y consistencia de cualquiera de varias clases de entrada del usuario en una aplicación o un sistema automatizado. Reglas de validación de datos pueden ser definidas y diseñan usando cualquiera de las diversas metodologías y desplegadas en cualquiera de los diversos contextos.
Reglas de validación de datos pueden ser definidas, diseñadas y desplegadas, por ejemplo:
Definición y diseño de contextos:
- como parte de la fase de recopilación de requisitos en un Ingeniería de software o diseñar una especificación del software
- como parte de las operaciones de una fase de modelado en modelado de procesos de negocio
Contextos de despliegue:
- como parte de un interfaz de usuario
- como un conjunto de programas o rutinas de lógica empresarial en un lenguaje de programación
- como un conjunto de procedimientos almacenados en un sistema de gestión de base de datos
Para aplicaciones de negocios, validación de datos puede ser definida a través de declarativa integridad de datos las reglas, o procedimiento-basado reglas de negocio.[1] Datos que no se ajustan a estas reglas afectará negativamente la ejecución del proceso de negocio. Por lo tanto, validación de datos debe comenzar con la definición de procesos de negocios y un conjunto de reglas de negocio dentro de este proceso. Las reglas pueden recogerse a través del ejercicio de la captura de requisitos.[2]
Diferentes tipos de validación
En la evaluación de los fundamentos de la validación de datos, se pueden hacer generalizaciones sobre los diferentes tipos de validación, según el alcance, complejidad y propósito de las distintas operaciones de validación a llevarse a cabo.
Por ejemplo:
- Tipo de datos de validación;
- Gama y restricción de validación;
- Código y validación cruzada; y
- Validación estructurado
Tipo de datos de validación
Validación de tipo de datos se realiza habitualmente en uno o más campos de datos simples.
El tipo más simple de datos tipo validación verifica que los caracteres individuales a través de la entrada del usuario son consistentes con los personajes que se espera de uno o más tipos de datos primitivos conocidos; tal como se define en un mecanismo almacenamiento y recuperación de datos o lenguaje de programación.
Visualizador, muchos sistemas de bases de datos permiten la especificación de los siguientes tipos de datos primitivos: 1) entero; 2) flotador (decimal); o 3) cadena.
Del mismo modo, los números de teléfono se esperan rutinariamente para incluir la dígitos y posiblemente los personajes +
, -
, (
, y )
(plus, minus y entre paréntesis). Una rutina de validación de datos más sofisticada que verifique el usuario había introducido un código de país válido, es decir, que el número de dígitos ingresados coincidió con la Convención para el país o área especificada.
Un proceso de validación consiste en dos pasos distintos: comprobar (a) validación y verificación posterior (b) acción. La verificación del paso utiliza una o varias reglas computacional (consulte más abajo) para determinar si los datos son válidos. La acción posterior Validación envía retroalimentación para ayudar a aplicar la validación.
Simple gama y restricción de validación
Validación simple gama y restricción podrá examinar proporcionados por el usuario para la consistencia con una gama mínima/máxima o consistencia con un test para la evaluación de una secuencia de caracteres, como una o más pruebas contra expresiones regulares.
Validación de código y referencia cruzada
Validación de código y referencia cruzada incluye pruebas para validación de tipo de datos, combinados con una o más operaciones para verificar que los datos suministrados por el usuario están coherentes con uno o más reglas externas, requisitos o restricciones de validez correspondientes a una determinada organización, contexto o un conjunto de supuestos subyacentes. Estas restricciones de validez adicional pueden incluir datos suministrados con un conocido consultar tabla o directorio de servicio de información tales como las referencias cruzadas LDAP.
Por ejemplo, un usuario puede escribir una cadena bien formada que coincide con la especificación de una dirección válida de correo electrónico, tal como se define en RFC 5322 [3][4][5] Pero que cadena bien formado no puede en realidad corresponde a un dominio puede resolver conectada a una cuenta de correo electrónico activo.
Validación estructurado
Validación estructurado permite la combinación de cualquiera de varios datos básicos pasos de validación de tipo, junto con procesamiento más complejo. Dicho complejo tratamiento puede incluir la prueba del condicionales restricciones para un objeto de datos complejo entero o conjunto de operaciones de proceso dentro de un sistema.
Métodos de validación
Permite comprobaciones de carácter Cheques que determinar que sólo esperan personajes están presentes en un campo. Por ejemplo un campo numérico sólo puede permitir los dígitos 0-9, el punto decimal y tal vez un signo o comas. Un campo de texto como un nombre personal podría no permitir caracteres tales como < y >, como podrían ser evidencia de un ataque de seguridad basada en el marcado. Dirección de correo electrónico puede requerir por lo menos un signo @ y varios otros detalles estructurales. Las expresiones regulares son formas eficaces de implementar dichos controles. (Véase también datos tipo cheques más abajo)
Estadísticas totales de lote Cheques por falta de registros. Campos numéricos pueden añadirse juntos todos los registros en un lote. Se ingresa el total del lote y la computadora comprueba que el total es correcto, por ejemplo, agregue el campo «Coste Total» de un número de transacciones juntos.
Verificación de cardinalidad Verifica que el disco tiene un número válido de registros relacionados. Por ejemplo si registro contacto clasificó como cliente debe tener al menos un orden asociado (cardinalidad > 0). Si no existe orden de un "cliente" récord entonces debe ser tampoco cambió a "semillas" o la orden debe ser creada. Este tipo de regla se puede complicar por condiciones adicionales. Por ejemplo si contacto registro en base de datos de nómina está marcado como "antiguo empleado", entonces este documento no debe tener ningún pago de salario asociado después de la fecha en que organización izquierda del empleado (cardinalidad = 0).
Digitos Utilizado para datos numéricos. Un dígito adicional se agrega a un número que se calcula a partir de las cifras. El equipo comprueba este cálculo cuando se introducen datos. Por ejemplo el último dígito de un ISBN de un libro es un cifra calculada verificación del módulo 10.[3]
Comprobaciones de consistencia Comprueba los campos para asegurar datos en estos campos corresponden, por ejemplo, si título = "Sr.", luego sexo = "M".
Estadísticas totales de control Esto es un total en uno o más campos numéricos que aparece en cada registro. Esto es un total significativo, por ejemplo, agregue el pago total por un número de clientes.
Comprobaciones de consistencia entre sistemas Compara datos en diferentes sistemas para garantizar que están consistentes, por ejemplo, la dirección del cliente con el mismo id es el mismo en ambos sistemas. Los datos pueden representarse en forma diferente en diferentes sistemas y pueden que deba ser transformado en un formato común para comparar, por ejemplo, un sistema puede almacenar nombre del cliente en un solo campo de nombre como 'Doe, John Q', mientras que otro en tres campos diferentes: First_Name (John), Last_Name (Doe) y Middle_Name (calidad); para comparar los dos, el motor de validación tendría que transformar los datos del sistema de segundo para que coincida con los datos de la primera, por ejemplo, usando SQL: Last_Name || ', ' || First_Name || substr (Middle_Name, 1, 1) convertir los datos del segundo sistema para parecerse a los datos del primero 'Doe, John Q'
Tipo de datos de controles Comprueba el tipo de la entrada de datos y dar un mensaje de error si los datos de entrada no coincide con el tipo de datos elegido, por ejemplo, en un cuadro de entrada aceptan datos numéricos, si la letra ' o ' se ha escrito en lugar del número cero, aparecería un mensaje de error.
Verificación de la existencia de archivos Comprueba que existe un archivo con un nombre especificado. Esta comprobación es esencial para los programas que usan manejo de ficheros.
Cheque formato o imagen Verifica que los datos están en un formato especificado (plantilla), por ejemplo, las fechas tienen que estar en el formato DD/MM/AAAA. Las expresiones regulares se deben considerar para este tipo de validación.
Estadísticas totales de hash Esto es sólo un lote total en uno o más campos numéricos que aparece en cada registro. Esto es un sin sentido total, por ejemplo, sume los números de teléfono para un número de clientes.
Control de límite A diferencia de la gama de controles, datos se revisan para un límite único, superior o inferior, por ejemplo, datos no debe exceder 2 (< = 2).
Verificación de la lógica Comprueba que la entrada no cede un error lógico, por ejemplo, un valor de entrada no debe ser 0 cuando dividirá algún otro número en alguna parte de un programa.
Comprobación de la presencia Verifica que los datos importantes está realmente presentes y no se ha perdido, por ejemplo, los clientes pueden ser obligados a tener sus números de teléfono listados.
Prueba de alcance Comprueba que los datos se encuentran dentro de un intervalo especificado de valores, por ejemplo, el mes de la fecha de nacimiento de una persona debe mentir entre 1 y 12.
Integridad referencial En moderno relacional se pueden vincular valores de base de datos en dos tablas a través de llave foranea y llave primaria. Si los valores en el campo de clave principal no están limitados por el mecanismo interno de la base de datos, [4] entonces deberá validarse. Validación del campo de clave externa comprueba que hace referencia a la tabla siempre debe referirse a una fila válida en la tabla de referencia.[5]
Comprobación de ortografía y gramática Busca errores ortográficos y gramaticales.
Verificación de la singularidad Comprueba que cada valor es único. Esto puede aplicarse a varios campos (por ejemplo, dirección, nombre, apellido).
Mira Mesa cuenta Ver tabla cuenta toma el elemento de datos introducidos y lo compara con una lista válida de entradas que se almacenan en una tabla de base de datos.
Acciones de validación posterior
|
En esta sección Necesita referencias adicionales para verificación. (Julio de 2012) |
- Aplicación de la acción
Una acción coercitiva típicamente rechaza la petición de entrada de datos y requiere el actor entrado hacer un cambio que trae los datos dentro de las normas. Esto es más adecuado para un uso interactivo, donde una persona real está sentado en la computadora y entrada. También funciona bien para subir por lotes, donde una entrada de archivo puede ser rechazada y un conjunto de mensajes enviados a la fuente de entrada para por qué se rechazaron los datos. Otra forma de acción coercitiva implica automáticamente cambiando los datos y guardar una versión conformes en vez de la versión original. Esto es más adecuado para el cambio cosmético. Por ejemplo, convertir una entrada [mayúsculas] a una entrada [caso de Pascal] no no necesidad de entrada de usuario. Sería un uso inadecuado de la aplicación automática en situaciones donde la aplicación conduce a la pérdida de información del negocio. Por ejemplo, salvando un comentario truncado si la longitud es más de lo esperado. Esto no es normalmente una buena cosa ya que podría resultar en la pérdida de datos importantes.
- Acción recomendable
Asesores acciones típicamente permiten datos debe introducirse sin cambios pero envía un mensaje al actor fuente indicando los problemas de validación que fueron encontrados. Esto es más conveniente para el sistema no interactivo, para sistemas donde el cambio no es un negocio decisivos, para limpieza de pasos de los datos existentes y medidas 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, el actor de origen se pide verificar que esta información es lo que realmente quieren entrar, a la luz de una sugerencia de lo contrario. Aquí, la verificación del paso sugiere una alternativa (por ejemplo: un cheque de su dirección de correo devuelve una forma diferente de esa dirección de formato o sugiere una dirección diferente en conjunto). En este caso, quieres dar al usuario la opción de aceptar la recomendación o mantener su versión. Esto no es un proceso estricto de validación, por diseño y es útil para la captura de direcciones a una nueva ubicación o a un lugar que todavía no está soportado por las bases de datos de validación.
Validación y seguridad
Errores u omisiones en la validación de datos pueden llevar a corrupción de datos o un vulnerabilidad de la seguridad. Validación de datos verifica que los datos son válidos, sensata, razonable y seguro antes de que sean procesadas.
Véase también
- Truncamiento de datos
- Asegure la entrada y salida de manejo
Referencias
- ^ Validación de datos, integridad de datos, diseñar aplicaciones distribuidas con Visual Studio .NET
- ^ Arkady Maydanchik (2007), "Evaluación de la calidad de datos", publicaciones técnicas, LLC
- ^ (secciones 3.2.3 y 3.4.1) y RFC 5321 – con un formato más legible en los informativos RFC 3696
- ^ Escrito por J. Klensin, autor de RFC 5321
- ^ y el fe de erratas asociados