OPENEDU Seu Conhecimento Cresce a Cada Questão Resolvida

Nome De Cidade Com D

Nome De Cidade Com D

Como lidar com nomes de cidades que começam com a letra D em sistemas oficiais

A gente sempre subestima como nomes de cidades com d podem complicar cadastros, planilhas e bases de dados. Não é só um detalhe estético. É questão de lógica de validação, normalização e, às vezes, de não perder horas caçando duplicados que não deveriam existir. Vou começar pela parte que ninguém gosta: a normalização. O primeiro passo é padronizar tudo para maiúsculas ou minúsculas antes de qualquer filter. Parece óbvio, mas a maior parte dos erros que vejo em produção vem de quem tenta concatenar campos sem normalizar. Um "Diadema" e um "diadema" na mesma base são dois registros diferentes para uma query ingênua. Normaliza primeiro, depois trata.

O que considerar ao criar um nome de cidade com d

Existem regras práticas que todo mundo esquece. A primeira é acentuação. Cidades como "São Domingos" ou "Diamantina" têm acentos que quebram regex sós. Se o seu sistema exige ASCII, use transliteração controlada: "o" vira "o", "ã" vira "a". Documenta esse mapeamento. Sem documentação, um colega chega e substitui acentos por ou remove eles aleatoriamente, e a base vira soup de inconsistência. A segunda regra é o prefixo "D". Em português, há cidades que começam com "Da", "Do", "Dos", "Das", "D'". Isso aparece o tempo todo no Nordeste e no Centro-Oeste. "Da Mata", "Do Amaral", "Dourados". Se sua lógica de filtragem só checa a primeira letra, você perde 40% dos resultados que deveria mostrar. Trate o artigo como parte do nome, não como algo separável, a menos que o catálogo oficial diga o contrário. No Brasil, os exemplos mais comuns de cidades com d incluem Dourados (MS), Dionísio Cerqueira (SC), Diamantino (MT), Dom Basílio (BA), Durandé (MG), Dionísio (não existe como município, mas aparece em bairros), além de cidades como Dagorn (não é município) e lugares menores que só aparecem em listas completas do IBGE. A lista inteira do IBGE tem cerca de 5.570 municípios, e os que começam com D representam uma fatia pequena, mas significativa para quem trabalha com geocódigo.

Exemplo prático de implementação

Se você está montando um select de cidades, não use LIKE 'D%'. Use uma função que normalize primeiro. Em SQL, algo como: SELECT cidade FROM municipios WHERE LOWER(REPLACE(REPLACE(cidade, 'ã', 'a'), 'á', 'a')) LIKE 'd%' OR LOWER(cidade) LIKE 'da %' OR LOWER(cidade) LIKE 'do %' OR LOWER(cidade) LIKE 'das %' OR LOWER(cidade) LIKE 'dos %' OR LOWER(cidade) LIKE 'd''% É feio, mas funciona. Depois disso, aplique um DISTINCT para evitar duplicados que surgem de variação de grafia.

CEP com a Letra D: 300 nomes de cidades, estado ou país - Nomes Criativos
CEP com a Letra D: 300 nomes de cidades, estado ou país - Nomes Criativos

No meu caso, uma vez precisei migrar uma base de 120 mil endereços de um sistema legado para outro. A nova tabela exigia validação de cidade pelo IBGE. Encontrei três registros de "Dourados" que estavam escritos como "Douarados", "Douradose" e "DouradoS". O sistema de correspondência automática rejeitou todos. A solução foi criar uma tabela de mapping manual com as variações mais frequentes, baseada em frequência de ocorrência nos dados reais. Levei duas horas para montar o mapping, mas economizei cerca de 15 horas de trabalho manual de conferência que seria necessário sem ele.

Armadilhas que todo mundo pisa

A primeira armadilha é confiar cegamente no código IBGE. O IBGE atualiza municípios e altera nomes ocasionalmente. Há cidades que foram extintas, outras que ganharam novos nomes, e algumas que simplesmente foram omitidas em versões mais antigas da tabela. Sempre valide contra a versão mais recente disponível no site do IBGE, idealmente usando o dump anual de dezembro. A segunda é ignorar abreviações estaduais. "Dourados-MS" não é o mesmo formato que "Dourados / MS" ou "Dourados, MS". Se sua integração espera um padrão, normalize antes de enviar. Eu vi gente enviar "Dourados-Ms" em vez de "MS" e o sistema de destino rejeitar porque a sigla estava errada. Minúsculas em siglas estaduais são um erro recorrente que parece bobo até você levar um bounce de API.

Quando não usar esse approach

Se o volume for pequeno — menos de 1.000 registros — e a qualidade dos dados já for boa, não gasta tempo com normalização complexa. Um script simples de upper() e trim() resolve. A normalização avançada que descrevi acima é para bases grandes, sujas, ou quando a integração é com sistemas externos que não aceitam variabilidade. Também não funciona bem quando o contexto é puramente humano, como uma lista de cidades para um quiz ou jogo. Nesses casos, a rigidez da normalização atrapalha mais do que ajuda. O ideal é adaptar a estratégia ao objetivo real.

CEP com a Letra D: 300 nomes de cidades, estado ou país - Nomes Criativos
CEP com a Letra D: 300 nomes de cidades, estado ou país - Nomes Criativos

Recursos úteis

O download da tabela completa de municípios com códigos IBGE está disponível gratuitamente no site do IBGE. O arquivo XML ou CSV contém nome completo, sigla do estado, código de região e coordenadas. É a fonte mais confiável que existe no Brasil para esse tipo de trabalho. Não reinvente a rodagem usando listas de terceiros que podem estar desatualizadas. Para quem trabalha com Python, a biblioteca pandas junto com o arquivo do IBGE permite construir um dicionário de cidades rapidamente. Um merge bem feito entre a sua base e o dump do IBGE resolve 90% dos problemas de validação em menos de 10 minutos, dependendo do tamanho do arquivo. Se você precisa de uma lista pronta de cidades com d, pode filtrar o dump do IBGE por `nome.upper().startswith('D')`. Dá para refinar depois com as regras de artigo que mencionei. O resultado é uma lista limpa, validada e pronta para uso em produção.