Introduction
Dans la gestion des bases de données, s’assurer que les données sont normalisées et structurées correctement est crucial pour maintenir l’intégrité et l’utilité des données. Parfois, vous pouvez rencontrer des tables qui manquent des relations nécessaires entre les points de données, entraînant une structure de base de données désorganisée. Un scénario courant implique une table qui enregistre les emplacements des clients sans un champ dédié pour les noms d’entreprise.
Cet article vise à aborder un exemple spécifique où une personne a reçu une table composée d’environ 18 000 lignes avec un seul champ pour “Nom de l’emplacement”, et aucun champ pour “Nom de l’entreprise”. La situation présente des défis en raison de l’absence d’une désignation d’entreprise appropriée pour plusieurs emplacements gérés par la même entreprise, ce qui peut entraîner des complications dans la récupération et l’analyse des données.
Dans ce blog, nous allons explorer une approche systématique pour normaliser une telle table, générer une liste d’entreprises basée sur des descriptions d’emplacement distinctes, et rendre de nouveau la base de données efficace.
Comprendre la structure actuelle de la table
La table d’emplacement existante a une structure simple :
ID Nom_de_l_emplacement
1 TownShop#1
2 Town Shop - Loc 2
3 The Town Shop
4 TTS - Someplace
5 Town Shop,the 3
6 Toen Shop4
Ce que nous visons est un output plus structuré qui inclut un “ID_Entreprise” pour chaque emplacement :
ID ID_Entreprise Nom_de_l_emplacement
1 1 Town Shop#1
2 1 Town Shop - Loc 2
3 1 The Town Shop
4 1 TTS - Someplace
5 1 Town Shop,the 3
6 1 Toen Shop4
En parallèle avec cette table d’emplacement, nous allons également créer une table d’entreprise séparée :
ID_Entreprise Nom_de_l_entreprise
1 The Town Shop
Génération des noms d’entreprise
Puisqu’il n’existe pas de liste d’entreprises existante, nous devons la générer à partir des noms d’emplacement fournis. Voici une approche étape par étape pour y parvenir :
Étape 1 : Identifier les candidats aux noms d’entreprise
- Extraire les noms d’emplacement : Créer une liste de
Noms d'emplacement
principalement composée de caractères alphabétiques. - Utiliser des expressions régulières : Pour filtrer les entrées non pertinentes (comme les emplacements avec des caractères numériques ou spéciaux), utiliser des expressions régulières pour analyser les données.
Étape 2 : Révision manuelle
- Trier la liste : Trier la liste filtrée des noms d’emplacement par ordre alphabétique.
- Sélectionner les noms d’entreprise : Passer en revue manuellement la liste triée pour déterminer quels emplacements conviennent le mieux comme noms d’entreprise représentatifs.
Étape 3 : Évaluation de correspondance
- Algorithme logiciel pour la correspondance : Utiliser la distance de Levenshtein ou tout autre algorithme de comparaison de chaînes similaire pour évaluer la proximité entre chaque
Nom d'entreprise
potentiel et les différentsNoms d'emplacement
. - Créer un système de notation : Enregistrer ces résultats dans une nouvelle table reflétant
NomEntreprise
,NomEmplacement
, et leurScoreDeCorrespondance
correspondant.
Étape 4 : Mettre en œuvre des seuils
- Filtrer les correspondances : Définir un score seuil ; toute correspondance tombant en dessous de ce score prédéterminé sera exclue d’une considération ultérieure.
Étape 5 : Vérification manuelle
- Examiner les données : Vérifier manuellement chaque entrée listée par
NomEntreprise
,NomEmplacement
, etScoreDeCorrespondance
et finaliser quels noms représentent réellement chaque entreprise. - Organiser pour l’efficacité : Ordonner les résultats par
ScoreDeCorrespondance
pour simplifier le processus de révision et réduire la charge de travail.
Conclusion
Bien que le processus décrit puisse sembler long, il tire parti de l’automatisation et de techniques algorithmiques pour gérer la complexité de la gestion d’environ 18 000 enregistrements. Cette approche structurée non seulement fait gagner du temps, mais aide également à catégoriser les données avec confiance, conduisant finalement à une meilleure intégrité de la base de données et à des analyses significatives à l’avenir.
En employant cette méthode, vous devriez trouver beaucoup plus facile de normaliser des tables avec une faible intégrité et d’améliorer l’utilisabilité de votre base de données. N’oubliez jamais : le but de la normalisation n’est pas seulement de structurer les données, mais d’en améliorer l’accessibilité et la fiabilité.