Depois de décadas conversando com empresas que aderem ao Latin1 Collation geral, minha empresa está enfrentando o problema de armazenar informações em um conjunto de caracteres e agrupamento diferentes: grego. Então, é hora de começar a pensar em uma espécie de redesenho de nossos dbs.
Dado que minha instalação é um MS SQLServer 2008 R2, quais são os melhores métodos, ou diretrizes gerais aceitas, para fazer isso? Várias tabelas? Múltiplos Dbs com configurações diferentes?
Não sou um DBA, só estou pedindo para ter um ponto de partida para resmungar.
Muito obrigado pela leitura e a todos que se importarem em responder.
Se os dados forem os mesmos (mesmas tabelas/colunas) e a única mudança for que agora existe a possibilidade de mais idiomas serem usados, eu diria que vá para UTF-8. Force-o como o conjunto de caracteres padrão em todas as definições de tabela (pelo menos as novas) e defina-o em sua configuração para ser usado para conexões de cliente que não especificam um conjunto de caracteres.
Você não especificou qual tipo de banco de dados está usando (MySQL, SQL Server… etc), então estou tentando ser o mais geral possível :)
Citação desta página técnica da MS :
Então, assim como @Gonsalu disse em um comentário para @TechiGurl: construa seu banco de dados para Unicode para suportar vários idiomas.
Na prática, isso significa usar tipos de dados nchar/nvarchar/ntext e não char/varchar/text.
Escolher um agrupamento é uma questão de otimização de consulta. Qualquer agrupamento ordenará seu texto de maneira definitiva. Os agrupamentos especificam as regras de como as strings de dados de caracteres são classificadas e comparadas , com base nas normas de idiomas e localidades específicos. Portanto, você deve escolher um agrupamento que atenda melhor aos requisitos de idioma da maioria das consultas executadas em seu banco de dados.
No caso fornecido pelo OP, se o Greek-Text agora compõe 10% de todos os dados, eu ficaria com o Latin1 Collation. Se houver mais dados do idioma grego ou a maioria das consultas executadas no banco de dados recuperar dados gregos, eu usaria Greek_ Collation.
Aqui está uma lista de MS Collations padrão.