Artigo Clube Delphi 82 - Código fonético no Firebird

Artigo da Revista Clube Delphi Edição 82.

Esse artigo faz parte da revista Clube Delphi Edição 82. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

Firebird

Código fonético no Firebird

 

Um dos maiores problemas em um cadastro, seja de clientes, fornecedores ou produtos, é quando ele se torna muito grande, dificultando a busca por nome ou descrição. Quem nunca se confundiu com o nome de um cliente ou de um produto? Walter ou Valter? Luis ou Luiz? Tem acento? Elizabeth, Elisabette ou Elizabette?

Alguns bancos de dados como o SQL Server e o MySql disponibilizam funções para busca fonética, geralmente chamada Soundex, que gera um código fonético de acordo com a pronúncia do idioma inglês, o que a torna impraticável para a língua portuguesa. Até no Clipper tínhamos essa função.

Neste artigo veremos como criar uma rotina de código fonético em português para ser utilizada no Firebird.

 

Código fonético

Os algoritmos Soundex e Metaphone são os dois mais utilizados para gerar código fonético. O código Soundex tem a propriedade que palavras pronunciadas similarmente produzem a mesma chave soundex e assim podem ser usadas em pesquisas em bancos de dados aonde você conhece a pronúncia, mas não exatamente como escreve.

A função retorna uma string de quatro caracteres, começando com uma letra, para cada palavra. Assim, por exemplo, para o nome “Pedro da Silva” o código retornado seria algo como P360D000S410. Já para “Pedro Silva” o retorno seria algo como P360S410.

Já o algoritmo Metaphone cria a mesma chave para palavras sonoras similares. Ele é mais preciso do que Soundex porque trabalha com as regras básicas da pronunciação. As chaves Metaphone geradas são de comprimentos variado. O que faremos é adaptar o algoritmo Metaphone para a língua portuguesa.

As regras da nossa função são (quando usarmos o sinal de igualdade significa “tem o som de”):

·Todos os acentos são substituídos, inclusive a cedilha;" [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados