J'ai 7 tables MySQL qui contiennent des données redondantes et partiellement chevauchantes sur environ 17 000 lignes. Tous les tableaux contiennent les noms et adresses des écoles. Parfois, la même école est dupliquée dans une table avec un nom légèrement différent, et parfois la même école apparaît dans plusieurs tables, encore une fois, avec de petites différences dans son nom ou son adresse.Conseils et outils pour normaliser une base de données
Ma tâche consiste à créer une seule table avec un ID, un nom et un champ ID de ville/ville qui contiendraient les données des 7 tables. Il y aura un tableau séparé pour les villes avec un champ identifiant et nom. Ceci est compliqué par le fait que les tables d'origine n'ont pas de champ séparé pour la ville, il doit être extrait du champ d'adresse qui a des données dans des formats très différents.
Je me rends compte que la plupart de ceci doit être fait manuellement, j'ai durci mon âme et je suis prêt à faire face à l'enfer vivant que cela m'apportera. Mes questions sont:
- Comment débuteriez-vous une telle tâche? quelle serait une stratégie intelligente pour en automatiser autant que possible?
- Y a-t-il des outils disponibles qui pourraient accélérer les choses? comme quelque chose qui peut comparer les chaînes, déterminer leur «ressemblance» et suggérer des duplications possibles?
Merci!
Merci pour cet excellent conseil! J'ai écrit un script perl rapide pour télécharger une liste de toutes les écoles hongroises sur le site Web du ministère de l'Éducation et générer des instructions d'insertion sql à partir des données. Cela m'a sauvé environ 2 semaines. Merci encore!! – neo2862