Questão de Banco de Dados — Banco de Dados Relacionais — FGV 2024
Banco de Dados›Banco de Dados Relacionais
Código
fg100796
Banca
FGV
Órgão
TRF - 1ª REGIÃO
Ano
2024
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade: Análise de Dados
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:
Aa collation atualmente estabelecida para as tabelas do banco de dados;
Ba string de conexão do banco de dados;
Cas eventuais restrições da linguagem de programação na manipulação dos dados;
Do idioma utilizado no gerenciamento do banco de dados;
Eo processo de carga dos dados.
Revelar gabarito e comentário▾
GabaritoA — a collation atualmente estabelecida para as tabelas do banco de dados;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Colação (Collation) em SQL Server
Gabarito: letra A. A discrepância na ordenação de nomes com acentos e maiúsculas/minúsculas em consultas SQL, quando comparada com operações de programação, é tipicamente causada por diferenças na collation (configuração de ordenação e comparação) do banco de dados. No SQL Server, a collation define regras de sensibilidade a acentos (accent-sensitive), maiúsculas/minúsculas (case-sensitive), largura e outros aspectos. Verificar a collation atualmente estabelecida para as tabelas do banco de dados é a ação correta, pois ela pode ser definida em nível de servidor, banco, tabela ou coluna, e influencia diretamente o resultado de operações ORDER BY e comparações. A alternativa A é a que resolve o problema.
Critério
Descrição
Relação com o Problema
Collation
Configuração que define regras de ordenação e comparação (sensibilidade a acentos, maiúsculas/minúsculas, largura)
A discrepância na ordenação entre consultas SQL e operações de programação é tipicamente causada por diferenças na collation. Verificar e ajustar a collation das tabelas resolve o problema.
String de conexão
Parâmetros de conexão (servidor, banco, credenciais, timeout)
Não controla a ordenação dos dados; a collation é definida no banco/tabela, não na string de conexão.
Restrições da linguagem de programação
Como strings são comparadas em C#, Java, etc.
O problema ocorre nas consultas SQL, não na linguagem de programação. Relatórios (que usam SQL) exibem corretamente, descartando essa causa.
Idioma do gerenciamento do banco
Idioma configurado no ambiente de gerenciamento (ex.: português, inglês)
Não afeta a ordenação dos dados; é uma configuração de interface, não de dados.
Processo de carga dos dados
Como os dados foram inseridos (formato, codificação)
Se os dados já estão corretos nos relatórios, a carga não é a causa da discrepância na ordenação.
A collation é a configuração que determina como os dados são ordenados e comparados. Em SQL Server, se a collation não for adequada para os dados (ex.: uma collation case-insensitive pode ordenar 'a' e 'A' como iguais, mas o programador espera ordenação case-sensitive), as consultas podem produzir ordens diferentes das esperadas em código. Como os relatórios (que usam as mesmas consultas SQL) exibem os nomes corretamente, provavelmente a collation está configurada de forma que a ordenação difere da esperada pela lógica de programação. Conferir e ajustar a collation das tabelas resolve a discrepância.
Alternativa B — ❌ Incorreta
A string de conexão (connection string) define parâmetros de conexão como servidor, banco de dados, credenciais e, eventualmente, configurações de pooling ou timeout. Ela não controla a ordenação dos dados. A collation é definida no banco ou na tabela, não na string de conexão.
Alternativa C — ❌ Incorreta
As restrições da linguagem de programação na manipulação de dados (ex.: como strings são comparadas em C# ou Java) podem influenciar a ordenação em memória, mas o problema descrito ocorre nas consultas SQL. Como os relatórios (que também usam SQL) exibem corretamente, a causa não está na linguagem de programação.
Alternativa D — ❌ Incorreta
O idioma utilizado no gerenciamento do banco de dados (ex.: português, inglês) não afeta a ordenação. A collation pode ser baseada em um idioma, mas o que importa é a collation em si, não o idioma da interface de gerenciamento.
Alternativa E — ❌ Incorreta
O processo de carga dos dados (importação, inserção) pode influenciar a formatação, mas uma vez os dados armazenados, a ordenação é determinada pela collation. Como os dados estão perfeitamente grafados nos relatórios, a carga está correta; o problema está na ordenação.