Published on

July 26, 2009

Amélioration de la correspondance phonétique dans SQL Server

SQL Server est un puissant système de gestion de base de données qui offre diverses fonctionnalités de manipulation et de récupération de données. Une exigence courante dans les bases de données est la capacité à effectuer une correspondance phonétique, en particulier dans les bases de données généalogiques, de forces de l’ordre et autres bases de données principalement utilisées pour les recherches de noms. Bien que SQL Server 2000 offre une prise en charge de base de la correspondance phonétique grâce à la fonction SOUNDEX(), il présente des limitations en termes de précision et d’exactitude.

Dans cet article, nous explorerons certaines techniques et outils avancés qui peuvent améliorer les capacités de correspondance phonétique de SQL Server. Ces techniques incluent l’utilisation des algorithmes Soundex, NYSIIS et Levenshtein Edit Distance.

Soundex

Soundex est un système de codage phonétique qui est utilisé depuis plus de 120 ans. Il regroupe les consonnes qui ont des sons similaires et élimine la plupart des voyelles. Par exemple, ‘Smith’, ‘Smyth’ et ‘Smythe’ ont tous le même code Soundex ‘S530’. SQL Server fournit une fonctionnalité Soundex de base grâce à la fonction SOUNDEX(), qui renvoie un motif phonétique Soundex de 4 caractères pour un mot.

NYSIIS

Le New York State Identification and Intelligence System (NYSIIS) est un système de codage phonétique amélioré qui surmonte certaines des limitations de Soundex. Il convertit des groupes de lettres en codes équivalents et conserve le positionnement relatif des voyelles. Par exemple, ‘johnson’, ‘johnsen’, ‘johansen’ et ‘johannsen’ ont tous le même code NYSIIS ‘JANSAN’. SQL Server ne prend pas en charge NYSIIS intégré, mais vous pouvez utiliser les fonctions xp_nysiis et udf_nysiis incluses dans le SQL Server Phonetic Toolkit.

Levenshtein Edit Distance

L’algorithme de distance d’édition de Levenshtein mesure la différence entre deux chaînes en comptant le nombre de modifications nécessaires pour transformer une chaîne en une autre. Cet algorithme est utile pour détecter les erreurs typographiques et est souvent utilisé dans les algorithmes de vérification orthographique. Par exemple, ‘SMIT’ ne nécessite qu’une seule modification pour devenir ‘SMITH’. SQL Server n’a pas de fonction intégrée pour la distance d’édition de Levenshtein, mais vous pouvez utiliser les fonctions xp_levenshtein et udf_levenshtein incluses dans le SQL Server Phonetic Toolkit.

Installation et utilisation du toolkit

Pour améliorer les capacités de correspondance phonétique de SQL Server, vous pouvez télécharger et installer le SQL Server Phonetic Toolkit. Voici les étapes pour installer et utiliser le toolkit :

  1. Téléchargez le toolkit à partir du lien fourni.
  2. Extrayez les fichiers du fichier ZIP.
  3. Copiez les fichiers DLL du répertoire \Install dans votre répertoire Microsoft SQL Server\MSSQL\Binn.
  4. Exécutez le script ADD_XP.SQL dans Query Analyzer.

Le toolkit comprend des scripts d’exemple et du code source pour les procédures stockées étendues, ce qui vous permet de personnaliser et d’améliorer la fonctionnalité selon vos besoins.

Conclusion

Alors que SQL Server 2000 offre une capacité de correspondance phonétique de base grâce à la fonction SOUNDEX(), cela peut ne pas être suffisant pour une correspondance précise et exacte des noms. En utilisant des algorithmes avancés tels que Soundex, NYSIIS et Levenshtein Edit Distance, vous pouvez améliorer les capacités de correspondance phonétique de SQL Server et améliorer la précision de vos recherches de noms.

Pour plus de lecture et plus d’informations sur ces algorithmes, vous pouvez vous référer aux ressources fournies :

  • NIST – Définition de NYSIIS
  • Merriam Park Software – Levenshtein Edit Distance
  • Microsoft – Soundex() dans SQL Server
Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.