AccueilđŸ‡«đŸ‡·Chercher

Validation de données


En informatique, la validation de donnĂ©es est un processus permettant de s’assurer que les donnĂ©es ont subi un tri adĂ©quat afin de ne garder que les donnĂ©es de qualitĂ©. Ainsi les donnĂ©es deviennent correctes et utiles. Le processus utilise des routines souvent nommĂ©es « rĂšgles de validation » ou bien « contraintes de validation » qui vĂ©rifient l’exactitude, la signification et la sĂ©curitĂ© des donnĂ©es qui sont entrĂ©es dans le systĂšme de validation. Les rĂšgles peuvent ĂȘtre mises en Ɠuvre via des fonctionnalitĂ©s automatisĂ©es d’un dictionnaire de donnĂ©es ou par l’inclusion d'un logiciel dotĂ© d’une logique de validation.

Aperçu

La validation des donnĂ©es est destinĂ©e Ă  fournir certaines garanties bien dĂ©finies pour l'adĂ©quation, la prĂ©cision et la cohĂ©rence pour tout type de saisie utilisateur dans une application ou un systĂšme automatisĂ©. Les rĂšgles de validation des donnĂ©es peuvent ĂȘtre dĂ©finies et conçues Ă  l'aide de diverses mĂ©thodologies et ĂȘtre dĂ©ployĂ©es dans diffĂ©rents contextes[1].

Des rĂšgles de validation des donnĂ©es peuvent ĂȘtre dĂ©finies, conçues et dĂ©ployĂ©es, par exemple:

Contextes de définition et de conception:

Departements :

Pour les applications mĂ©tier, la validation des donnĂ©es peut ĂȘtre dĂ©finie via des rĂšgles dĂ©claratives d' intĂ©gritĂ© des donnĂ©es ou des rĂšgles mĂ©tier basĂ©es sur des procĂ©dures[2]. Les donnĂ©es non conformes Ă  ces rĂšgles affecteront nĂ©gativement l'exĂ©cution des processus mĂ©tier. Par consĂ©quent, la validation des donnĂ©es doit commencer par la dĂ©finition du processus mĂ©tier et un ensemble de rĂšgles mĂ©tier au sein de ce processus. Les rĂšgles peuvent ĂȘtre collectĂ©es via l'exercice de capture des exigences[3].

Différents types de validation des données

En Ă©valuant les bases de la validation des donnĂ©es, des gĂ©nĂ©ralisations peuvent ĂȘtre faites concernant les diffĂ©rents types de validation, selon la portĂ©e, la complexitĂ© et le but des diffĂ©rentes opĂ©rations de validation Ă  effectuer.

Par exemple:

  • Validation du type de donnĂ©es
  • Validation de la plage et des contraintes
  • Validation du code et des rĂ©fĂ©rences croisĂ©es
  • Validation structurĂ©e

Vérification du type de données

La validation du type de données est généralement effectuée sur un ou plusieurs champs de données simples.

Le type le plus simple de validation de type de données vérifie que les caractÚres individuels fournis par l'entrée utilisateur sont cohérents avec les caractÚres attendus d'un ou plusieurs types de données primitifs connus; tel que défini dans un langage de programmation ou un mécanisme de stockage et de récupération de données ainsi que la spécification des types de données primitifs suivants: 1) entier; 2) flottant (décimal); ou 3) chaßne.

Par exemple, de nombreux systĂšmes de base de donnĂ©es permettent la spĂ©cification de certains caractĂšres spĂ©ciaux tels que “,” “+” “-” et mĂȘme “(“. Une routine de validation des donnĂ©es plus sophistiquĂ©e vĂ©rifierait que l'utilisateur a entrĂ© un code de pays valide, c'est-Ă -dire que le nombre de chiffres saisis correspond Ă  la convention du pays ou de la zone spĂ©cifiĂ©e.

Un processus de validation comprend deux étapes distinctes: (a) vérification de validation et (b) action aprÚs vérification. L'étape de vérification utilise une ou plusieurs rÚgles de calcul.

Validation la plage simple et des contraintes

La validation de plage simple et de la contrainte permet d’examiner la cohĂ©rence de l'entrĂ©e utilisateur avec une plage minimale / maximale, ou la cohĂ©rence avec un test d'Ă©valuation d'une sĂ©quence de caractĂšres, tel qu'un ou plusieurs tests par rapport aux expressions rĂ©guliĂšres. Par exemple, un numĂ©ro de tĂ©lĂ©phone amĂ©ricain doit avoir 10 chiffres et pas de lettres ou de caractĂšres spĂ©ciaux.

Vérification du code et des références croisées

La validation du code et des références croisées comprend des tests de validation du type de données, combinés à une ou plusieurs opérations pour vérifier que les données fournies par l'utilisateur sont cohérentes avec une ou plusieurs rÚgles, exigences ou contraintes de validité externes pertinentes pour une organisation, un contexte ou un ensemble particulier, des hypothÚses sous-jacentes. Ces contraintes de validité supplémentaires peuvent impliquer des références croisées fournies avec une table de recherche connue ou un service d'informations d'annuaire tel que LDAP.

Par exemple, un utilisateur expérimenté peut entrer une chaßne bien formée qui correspond à la spécification d'une adresse e-mail valide, telle que définie dans la RFC 5322[4] - [5] - [6], mais cette chaßne bien formée peut ne pas correspondre réellement à un domaine résoluble connecté à un compte de messagerie actif.

ContrÎle structuré

La validation structurée permet de combiner l'une des différentes étapes de validation de type données de base, ainsi qu'un traitement plus complexe. Un tel traitement complexe peut comprendre le test de contraintes conditionnelles pour un objet de données complexe entier ou un ensemble d'opérations de processus dans un systÚme.

Une rĂšgle de validation est un critĂšre ou une contrainte utilisĂ© dans le processus de validation des donnĂ©es, effectuĂ© aprĂšs que les donnĂ©es aient Ă©tĂ© encodĂ©es sur un support d'entrĂ©e et implique un programme de validation. Ceci est distinct de la vĂ©rification formelle, oĂč le fonctionnement d'un programme est dĂ©terminĂ© comme Ă©tant celui qui Ă©tait prĂ©vu et qui rĂ©pond Ă  l'objectif. La rĂšgle de validation ou le systĂšme de vĂ©rification encore utilisĂ© par de nombreux grands fabricants de logiciels a Ă©tĂ© conçu par un employĂ© de Microsoft entre 1997 et 1999.

La mĂ©thode consiste Ă  vĂ©rifier que les donnĂ©es respectent les paramĂštres appropriĂ©s dĂ©finis par l'analyste systĂšme. Un jugement quant Ă  la validitĂ© des donnĂ©es est rendu possible par le programme de validation, mais il ne peut garantir une exactitude complĂšte. Cela ne peut ĂȘtre atteint que par l'utilisation de toutes les commandes de bureau et informatiques intĂ©grĂ©es au systĂšme au stade de la conception. La diffĂ©rence entre la validitĂ© et l'exactitude des donnĂ©es peut ĂȘtre illustrĂ©e par un exemple trivial:

Une entreprise a crĂ©Ă© un fichier personnel et chaque enregistrement contient un champ pour la classe d'emploi. Les valeurs autorisĂ©es sont A, B, C ou D. Une entrĂ©e dans un enregistrement peut ĂȘtre validĂ©e et acceptĂ©e par le systĂšme s'il s'agit de l'un de ces caractĂšres, mais il peut ne pas s'agir du grade correct pour le travailleur concernĂ©. L'exactitude d'une note ne peut ĂȘtre Ă©tablie que par des vĂ©rifications administratives ou par rĂ©fĂ©rence Ă  d'autres fichiers.

Par consĂ©quent, lors de la conception des systĂšmes, des dĂ©finitions de donnĂ©es sont Ă©tablies et limitent ce qui constitue des donnĂ©es valides. À l'aide de ces dĂ©finitions de donnĂ©es, une sĂ©rie de vĂ©rifications de validation logicielle peut ĂȘtre effectuĂ©e.

ContrÎle de cohérence

Le contrĂŽle de cohĂ©rence garantit que les donnĂ©es saisies sont logiques. Par exemple, la date de livraison ne peut pas ĂȘtre antĂ©rieure Ă  la date de commande.

VĂ©rification de la plage

  • Ne s'applique pas Ă  l'ISBN, mais les donnĂ©es doivent gĂ©nĂ©ralement se situer dans les valeurs prĂ©dĂ©finies maximale et minimale. Par exemple, les numĂ©ros de compte client peuvent ĂȘtre limitĂ©s dans les valeurs 10000 Ă  20000, s'il s'agit de la plage arbitraire des numĂ©ros utilisĂ©s pour le systĂšme

CritĂšres

Un exemple de vérification de validation est la procédure utilisée pour vérifier un ISBN.

  • Taille: Le nombre de caractĂšres dans une valeur d'Ă©lĂ©ment de donnĂ©es est vĂ©rifiĂ©; par exemple, un ISBN doit ĂȘtre composĂ© de 10 caractĂšres seulement (dans la version prĂ©cĂ©dente - la norme pour 1997 et les versions ultĂ©rieures a Ă©tĂ© modifiĂ©e en 13 caractĂšres).
  • VĂ©rification des formats: Les donnĂ©es doivent ĂȘtre conformes Ă  un format spĂ©cifiĂ©. Ainsi, les 9 premiers caractĂšres doivent ĂȘtre les chiffres de 0 Ă  9, le 10Ăšme doit ĂȘtre ces chiffres ou un X
  • Clef de contrĂŽle: Un chiffre supplĂ©mentaire calculĂ©, par exemple, sur un numĂ©ro de compte, peut ĂȘtre utilisĂ© comme dispositif d'autocontrĂŽle. Lorsque le numĂ©ro est entrĂ© dans l'ordinateur, le programme de validation effectue un calcul similaire Ă  celui utilisĂ© pour gĂ©nĂ©rer Ă  l'origine le chiffre de contrĂŽle et vĂ©rifie ainsi sa validitĂ©. Ce type de vĂ©rification mettra en Ă©vidence les erreurs de transcription lorsque deux ou plusieurs chiffres ont Ă©tĂ© transposĂ©s ou placĂ©s dans le mauvais ordre. Le 10eme caractĂšre de l'ISBN Ă  10 caractĂšres est le chiffre de contrĂŽle. ISBN Ă  10 caractĂšres est le chiffre de contrĂŽle.

MĂ©thodes de validation

Vérifications de caractÚres autorisées
Il faut vĂ©rifier que seuls les caractĂšres attendus soient prĂ©sents dans le champ. Par exemple, un champ numĂ©rique ne peut autoriser que les chiffres 0 Ă  9, le point dĂ©cimal et Ă©ventuellement un signe “moins” ou des virgules. Une adresse e-mail peut nĂ©cessiter au moins un signe “@” et divers autres dĂ©tails structurels. Les expressions habituelles sont des moyens efficaces de mettre en place de tels contrĂŽles.
Totaux des lots
Il faut vĂ©rifier les dossiers manquants. Les champs numĂ©riques peuvent ĂȘtre ajoutĂ©s ensemble pour tous les enregistrements d’un lot. Le total des lots est entrĂ© et l’ordinateur vĂ©rifie que le total est correct, par exemple, ajouter le champ «coĂ»t total» d’un certain nombre de transactions ensemble.
Vérification de la cardinalité
Il faut vĂ©rifier que ce dossier a un nombre valide d’enregistrements connexes. Par exemple, si l’enregistrement de “Contact” est classĂ© comme “Client”, il doit avoir au moins un “Ordre” associĂ© (CardinalitĂ© 0). S’il n’existe pas d’enregistrement « Client », il doit ĂȘtre remplacĂ© par « graine » ou la commande doit ĂȘtre crĂ©Ă©e. Ce type de rĂšgle peut ĂȘtre complexifiĂ© par des conditions supplĂ©mentaires. Par exemple, si l’enregistrement des contacts dans la base de donnĂ©es de paiement est marquĂ© comme « ancien employĂ© », alors ce dossier ne doit plus contenir de paiements salariaux associĂ©s Ă  cet employĂ© une fois la date de son licenciement enregistrĂ©. (CardinalitĂ© = 0).
VĂ©rifier les chiffres
Cela est utile Ă  la gestion des donnĂ©es numĂ©riques. Un chiffre supplĂ©mentaire est ajoutĂ© Ă  un nombre qui est calculĂ© Ă  partir d’un jeu de chiffres. L’ordinateur vĂ©rifie ce calcul lorsque les donnĂ©es sont saisies. Par exemple, le dernier chiffre de l’ISBN d’un livre est un chiffre dĂ©terminĂ© au modulo 10 prĂšs. [3]
Vérifications de cohérence
Il faut vĂ©rifier les champs pour s’assurer que les donnĂ©es dans ces champs correspondent, par exemple, Si titre - "Mr.", puis Genre -"M".
Totaux de contrĂŽle
Il s’agit d’un total fait sur un ou plusieurs champs numĂ©riques qui apparaĂźt dans chaque enregistrement. Il s’agit d’un total significatif, par exemple, ajouter le paiement total pour un certain nombre de clients
Vérifications de cohérence inter-systÚmes
Il faut comparer les donnĂ©es dans diffĂ©rents systĂšmes pour s’assurer qu’elles soient cohĂ©rentes. Par exemple, l’adresse d’un client ayant le mĂȘme id est la mĂȘme dans les deux systĂšmes. Les donnĂ©es peuvent ĂȘtre reprĂ©sentĂ©es diffĂ©remment dans diffĂ©rents systĂšmes et peuvent devoir ĂȘtre transformĂ©es en un format commun Ă  comparer. Par exemple, un systĂšme peut stocker le nom du client dans un champ nom unique comme «Doe, John Q», tandis qu’un autre dans trois domaines diffĂ©rents: First_Name (John), Last_Name (Doe) et Middle_Name (QualitĂ©); pour comparer les deux, le moteur de validation aurait transformĂ© les donnĂ©es du deuxiĂšme systĂšme pour correspondre aux donnĂ©es du premier, par exemple, en utilisant SQL: Last_Name ', ' || First_Name substr(Middle_Name, 1, 1) convertirait les donnĂ©es du deuxiĂšme systĂšme pour ressembler aux donnĂ©es du premier 'Doe, John Q'
Vérification du type de données
VĂ©rifie les types de donnĂ©es d’entrĂ©e et dĂ©livre un message d’erreur si ces donnĂ©es d’entrĂ©e ne correspondent pas au type de donnĂ©es choisies. Exemple : « Dans un systĂšme d’entrĂ©e acceptant les donnĂ©es numĂ©riques, si la lettre ‘O’ est remplacĂ©e par le nombre zĂ©ro « 0 », un message d’erreur s’affichera pour annoncer l’erreur.
VĂ©rification de l'existence du fichier
Vérifie que certains dossiers portant un nom spécifique existent. Cette vérification est essentielle pour les programmes qui utilisent la gestion des fichiers.
'VĂ©rification du format ou des illustrations
Il faut vĂ©rifier que la donnĂ©e est un dans un format spĂ©cifique (modĂšle). Par exemple, les dates n’ont pas forcĂ©ment Ă  ĂȘtre sous le format JJ/MM/AAAA. Les expressions rĂ©guliĂšres devraient ĂȘtre considĂ©rĂ© pour ce type de validation.
Totaux de hachage
C’est un total effectuĂ© sur un ou plusieurs champs numĂ©riques qui apparaĂźt dans chaque enregistrement. Ceci n’a pas lieu d’exister, par exemple, c’est comme si nous additionnons les numĂ©ros de tĂ©lĂ©phone entre eux.
VĂ©rification des limites
Contrairement aux contrĂŽles de portĂ©e, les donnĂ©es sont vĂ©rifiĂ©es pour une limite, haute ou basse, exemple, les datas ne doit ĂȘtre plus grande que 2 (≀2).
VĂ©rification logique
Il faut vĂ©rifier que les entrĂ©es ne comportent pas d’erreur logique, exemple, la valeur d’entrĂ©e ne doit pas ĂȘtre Ă©gale Ă  0 si celle-ci divise un autre nombre (calcul impossible).
Vérification de présence
Elle a pour but de vĂ©rifier que les datas importantes sont rĂ©ellement prĂ©sentes et non oubliĂ©es par l’utilisateur, exemple, permet de vĂ©rifier que le numĂ©ro de tĂ©lĂ©phone des clients soit bien prĂ©sent dans la base de donnĂ©es.
VĂ©rification des intervalles
Elle a pour but de vĂ©rifier que les donnĂ©es appartiennent bien Ă  un intervalle prĂ©dĂ©fini. Exemple, le mois de naissance d’une personne ne peut ĂȘtre supĂ©rieur Ă  12.
Intégrité référentielle
Prenons deux tables appartenant au mĂȘme systĂšme d’une base de donnĂ©es, les donnĂ©es de ces deux tables peuvent ĂȘtre reliĂ© grĂące Ă  des clĂ©s dites primaires ou secondaires. Si les valeurs des clĂ©s primaires ne sont pas contraintes par le mĂ©canisme interne de la base de donnĂ©es, [4],alors celui-ci devra ĂȘtre validĂ©. La validation de la clĂ© Ă©trangĂšre permet de vĂ©rifier que les tables rĂ©fĂ©rencĂ©es doivent toujours ĂȘtre rĂ©fĂ©rĂ© Ă  une ligne valide dans la table rĂ©fĂ©rencĂ©e. [5]
VĂ©rification de l'orthographe et de la grammaire
Il faut toujours penser Ă  vĂ©rifier s'il n'y a pas de fautes d’orthographe et de grammaire.
VĂ©rification de l’unicitĂ©
Ceci permet de vĂ©rifier que chaque valeur est unique. Cela peut ĂȘtre appliquĂ© Ă  plusieurs domaine de valeur (exemple : adresse, Nom, PrĂ©nom).
VĂ©rification de la table
La table de vĂ©rification prend la donnĂ©e d’entrĂ©e compare celle-ci Ă  une liste de valeur d’entrĂ©e valide. Les valeurs de cette liste sont stockĂ©es dans une table de base de donnĂ©es.

Actions de post-validation

Mesures d'exécution
Les mesures d’exĂ©cution rejettent gĂ©nĂ©ralement la demande de saisie de donnĂ©es et exigent que la personne entrant les donnĂ©es apporte une modification Ă  ces donnĂ©es afin de les rendre conformes. Ceci est plus appropriĂ© pour une utilisation interactive, oĂč une personne rĂ©elle doit elle-mĂȘme entrer des donnĂ©es. Il fonctionne Ă©galement bien pour le tĂ©lĂ©chargement par lots, oĂč une entrĂ©e de fichier peut ĂȘtre rejetĂ©e et un ensemble de messages renvoyĂ©s Ă  la source ayant entrĂ© les donnĂ©es pour expliquer pourquoi les donnĂ©es ont Ă©tĂ© rejetĂ©es. Une autre forme de mesures d’exĂ©cution consiste Ă  modifier automatiquement les donnĂ©es et Ă  enregistrer une version conforme au lieu de la version originale. Ceci est le plus appropriĂ© pour le changement cosmĂ©tique. Par exemple, la conversion d’une entrĂ©e [all-caps] Ă  une entrĂ©e [Pascal-case] n’a pas besoin de l’utilisateur. Un recours inappropriĂ© Ă  l’exĂ©cution automatique se ferait dans les cas oĂč cette exĂ©cution entraĂźne la perte de renseignements commerciaux. Par exemple, enregistrer un commentaire tronquĂ© si la longueur est plus longue que prĂ©vu. Ce n’est gĂ©nĂ©ralement pas une bonne chose car il peut entraĂźner la perte de donnĂ©es importantes.
Action de consultation
Les actions de consultation permettent gĂ©nĂ©ralement de saisir les donnĂ©es inchangĂ©es, mais envoient un message Ă  l’utilisateur en indiquant les problĂšmes de validation rencontrĂ©s.Ceci convient le mieux aux systĂšmes non interactifs, aux systĂšmes oĂč le changement n’est pas critique pour l’entreprise, au nettoyage des Ă©tapes des donnĂ©es existantes et aux Ă©tapes de vĂ©rification d’un processus d’entrĂ©e.
Action de vérification
Les actions de vĂ©rification sont des cas particuliers d’actions de consultation. Dans ce cas, l’utilisateur est invitĂ© Ă  vĂ©rifier que ses donnĂ©es sont celles qu’il voudrait vraiment entrer. Ici, l’étape de contrĂŽle suggĂšre une alternative (par exemple, une vĂ©rification de votre adresse postale renvoie une façon diffĂ©rente de formater cette adresse ou suggĂšre une adresse diffĂ©rente en mĂȘme temps).Il est souhaitable dans ce cas, de donner Ă  l’utilisateur la possibilitĂ© d’accepter la recommandation ou de garder la version dĂ©jĂ  enregistrĂ©e. Il ne s’agit pas d’un processus de validation strict et est utile pour mettre Ă  jour les adresses Ă  un nouvel emplacement ou Ă  un emplacement qui n’est pas encore pris en charge par les bases de donnĂ©es de validation.
Journal de validation
MĂȘme dans les cas oĂč la validation des donnĂ©es n’a pas trouvĂ© de problĂšmes, fournir un journal des validations qui ont Ă©tĂ© effectuĂ©es et leurs rĂ©sultats est important. Cela permet d'avoir un suivi et est utile pour identifier les vĂ©rifications de validation de donnĂ©es manquantes en cas de problĂšmes de donnĂ©es (donnĂ©e manquante, mal orthographiĂ©e) et dans l’amĂ©lioration du systĂšme de validation.

Validation et sécurité

Les erreurs et oublis lors de la validation de donnĂ©es peuvent entraĂźner une faille dans le systĂšme de sĂ©curitĂ©, menant Ă  une corruption des donnĂ©es ou Ă  une vulnĂ©rabilitĂ© de sĂ©curitĂ©[7]. La validation des donnĂ©es vĂ©rifie que les donnĂ©es sont adaptĂ©es Ă  leur destination[8], valides, raisonnables et sĂ©curisĂ©es avant d'ĂȘtre traitĂ©es.

Voir Ă©galement

Références

  1. (en) Michael SchÀfer, « Methodology for Data Validation 1.0 (Handbook), revised edition June 2016 », sur CROS - European Commission, (consulté le )
  2. Mahesh Chand et David Talbot, « Data Components in Visual Studio .NET », dans Applied ADO.NET: Building Data-Driven Solutions, Apress, (ISBN 978-1-59059-073-7, lire en ligne), p. 33–71
  3. Maydanchik, Arkady., Data quality assessment, Technics Publications, , 336 p. (ISBN 978-1-63462-047-5 et 1-63462-047-X, OCLC 648411341, lire en ligne)>
  4. (en) R. Clements, « Comments on RFC 580: Machine readable protocols », sur tools.ietf.org (consulté le )
  5. « Independent Submissions to the RFC Editor », RFC Editor,‎ (lire en ligne, consultĂ© le )
  6. « RFC Errata Report » RFC Editor » (consulté le )
  7. « Chapter 10. Data Validation », sur www.cgisecurity.com
  8. (en) « More efficient data validation with Spotless », sur spotlessdata.com (consulté le )

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.