Les systèmes (c.-à-d. les bases de données) gérant leur intégrité des données semblent être du bon sens, et dans les scénarios simples, c’est du bon sens. Cependant, lorsque les règles métier deviennent complexes, il est plus difficile de valider les données à un emplacement central.
Lorsqu’un système (c.-à-d. une base de données) ne peut plus appliquer la structure des données, quelque chose d’autre doit prendre le relais. Quand cela pourrait-il se produire ?
Le format du numéro de téléphone aux États-Unis est (indicatif régional) (préfixe) – (numéro), voici un exemple : (734) 555-3212. Nous parlerons de la base de données dans cet article par souci de simplicité, mais le magasin de données n’a pas besoin d’être une base de données.
Les numéros de téléphone aux États-Unis ont toujours dix chiffres (nous ignorons le chiffre international). Les numéros de téléphone peuvent se présenter sous une variété de formats :
- xxx.xxx.xxxx
- xxx-xxx-xxxx
- (xxx) xxx-xxxx
- (xxx) xxx.xxxx
La plupart des bases de données sont limitées aux types de données (c.-à-d. nombres, chaînes, dates, etc.) et ne supportent pas le formatage. De nombreuses applications choisissent d’utiliser le type de données chaîne pour stocker le numéro de téléphone. Cependant, le type de données chaîne accepte N’IMPORTE QUELLE chaîne. Pour assurer que le numéro de téléphone est valide, nous avons besoin d’une couche de validation supplémentaire.
Dans une seule application se connectant à une seule base de données, la validation des données est généralement appliquée dans l’application.
Lorsque votre architecture s’étend à deux ou plusieurs applications partageant une base de données, deux choses peuvent se produire :
1. Chaque application a sa propre validation des données :
2. Il existe un service central que les applications appellent pour valider les données et persister les données :
Le risque de la validation des données à plusieurs endroits est que les validations pourraient être désynchronisées. Un format valide pour une application pourrait ne pas être valide dans une autre application. Dans le pire des cas, un mauvais format lèvera une erreur ou, dans les cas extrêmes, plantera l’application.
Le meilleur cas est de centraliser la validation des données afin que le format stocké dans la base de données soit cohérent pour toute l’organisation. Il y a bien sûr des exceptions, et je suppose que plusieurs applications lisent et écrivent dans une base de données partagée.
Auteur : Chuck Conway est un ingénieur IA avec près de 30 ans d’expérience en génie logiciel. Il construit des systèmes IA pratiques — pipelines de contenu, agents d’infrastructure et outils qui résolvent des problèmes réels — et partage ce qu’il apprend en chemin. Connectez-vous avec lui sur les réseaux sociaux : X (@chuckconway) ou visitez-le sur YouTube et sur SubStack.