Passer au contenu

Base de données : lancer une requête phonétique

Le problème : vous cherchez dans une table de données des noms dont vous ignorez l’orthographe.La solution : utilisez le module Soundex. Il effectue des recherches…

Le problème : vous cherchez dans une table de données des noms dont vous ignorez l’orthographe.La solution : utilisez le module Soundex. Il effectue des recherches à l’aide de codes sonores.Lorsque vous cherchez une personne dans une table de données, il arrive parfois que vous ignoriez l’orthographe de son nom. Or, une requête traditionnelle, portant sur la recherche d’une chaîne de caractères, ne reconnaît pas les mots dont l’écriture diffère de ce que vous avez tapé. Pour étendre la requête aux consonances voisines, plusieurs techniques sont possibles. La plus basique consiste à filtrer la base sur les premières lettres du nom recherché. C’est simple, mais très imprécis.

Associez un code à chaque son

Une méthode plus évoluée consiste à lancer une recherche phonétique, pour trouver tous les noms qui se prononcent de la même façon que le nom cherché. Vous pouvez le faire dans Access, à condition d’utiliser un module spécialisé comme Soundex. Gratuit, ce dernier attribue un code sonore à chaque nom. Il exploite un algorithme qui, en pratique, exploite une méthode complexe ­ mais invisible pour l’utilisateur. Il supprime les espaces initiaux du nom, ses voyelles et ses éventuelles lettres H et W, souvent muettes en français, et construit ensuite un code sonore de quatre caractères en commençant par la première lettre du nom suivi de l’équivalence des caractères restants dans une table adaptée aux consonances françaises. Les résultats ne sont pas parfaits, car le son n’est codé que sur quatre positions. Ainsi, une requête phonétique des ‘ Christian ‘ d’une table affiche Christelle et Christophe, mais aussi Corest, Crousset et Crouzet, ces trois noms étant dotés du même code son que ‘ Christian ‘.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


OB