Questão FC369386
Pedro trabalha com um banco de dados SQL Server, no Windows, que armazena dados pessoais contendo acentos, letras maiúsculas e minúsculas nos nomes. Entretanto, Pedro notou que, em
Projeto e Modelagem de Dados
FGV · 2024
Pedro trabalha com um banco de dados SQL Server, no Windows, que armazena dados pessoais contendo acentos, letras maiúsculas e minúsculas nos nomes. Entretanto, Pedro notou que, em certas consultas à ordenação dos nomes, a ordem final é diferente daquela que é produzida em operações geradas no âmbito da programação. Paradoxalmente, nos relatórios preparados a partir de consultas SQL e funções codificadas na linguagem de programação adotada, os nomes aparecem perfeitamente grafados.
Para corrigir essas discrepâncias, uma linha de ação recomendada nesses casos é conferir:
- a collation atualmente estabelecida para as tabelas do banco de dados;
- a string de conexão do banco de dados;
- as eventuais restrições da linguagem de programação na manipulação dos dados;
- o idioma utilizado no gerenciamento do banco de dados;
- o processo de carga dos dados.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
A verificação da collation das tabelas é o passo correto porque a collation define as regras de comparação e ordenação de texto no SQL Server: como são tratados acentos, diferenças entre maiúsculas/minúsculas e a ordem relativa de caracteres.
Quando a collation do banco, tabela ou coluna difere da cultura usada pela aplicação, consultas SQL ORDER BY podem produzir uma ordenação diferente da obtida por funções de ordenação no código, mesmo que a grafia apareça correta.
Para corrigir, verifique a collation no nível do servidor, do banco e das colunas (views como sys.databases, sys.columns ou INFORMATION_SCHEMA); use a cláusula COLLATE em consultas para teste e, se necessário, aplique ALTER COLUMN ... COLLATE para uniformizar.
Alinhar as collations resolve discrepâncias de ordenação entre banco e aplicação.
Conteúdo do catálogo FC Concursos · Atualizado em