J'ai une grande collection de données dans un fichier Excel (et des fichiers CSV). Les données doivent être placées dans une base de données (mysql). Cependant, avant d'entrer dans la base de données, il doit être traité. Par exemple, si la colonne 1 est inférieure à la colonne 3, ajoutez 4 à la colonne 2. Il y a quelques règles à respecter avant que l'information ne soit conservée.Conception d'application pour le traitement des données avant la base de données
Quelle serait une bonne conception à suivre pour accomplir cette tâche? (En utilisant java)
Notes complémentaires
Le processus doit être automatisé. Dans le sens où je n'ai pas besoin d'entrer manuellement et de modifier les données. Nous parlons de milliers de lignes de données avec 15 colonnes d'informations par ligne.
Actuellement, j'ai une sorte de conception de la chaîne de responsabilité mis en place. Une classe (Java) pour chaque règle. Quand une règle est faite, elle appelle la règle suivante.
Plus d'infos
En général, il y a environ 5000 lignes par feuille de données. La vitesse n'est pas un gros problème car cette grosse entrée n'arrive pas souvent.
J'ai considéré les baves, mais je n'étais pas sûr que la tâche était assez compliquée pour les drols.
règles Exemple:
Toutes les devises (données dans des colonnes spécifiques) ne doivent pas contenir les symboles monétaires.
Les noms de catégorie doivent être uniformes (par exemple livre cas = bibliothèque)
dates d'entrée ne peuvent pas être futures dates
entrée de texte ne peut contenir que [AZ 0-9 \ s]
etc ..
en outre, si une colonne d'information est invalide, il doit être signalé lorsque le traitement est terminé (ou peut-être arrêter le traitement).
Ma solution actuelle fonctionne. Cependant, je pense qu'il y a place à l'amélioration donc je cherche pour des idéaux quant à la façon dont il peut être amélioré et ou comment d'autres personnes ont traité des situations similaires .
J'ai envisagé (très brièvement) d'utiliser des baves mais je n'étais pas sûr que le travail était assez compliqué pour profiter des baves.