← Questões de Banco de Dados

Banco de Dados · FGV · 2021

Questão comentada de Banco de Dados

João está trabalhando com consultas SQL num banco de dados SQL Server, mas está com dificuldade para encontrar o registro de uma pessoa chamada Natália Silva, pois esse nome foi gravado diversas vezes, ora com acento e ora sem acento. A cláusula que permite, em diferentes comandos, estabelecer as regras de tratamento para ordenação e comparação em casos assim é denominada:

Gabarito: A

Quando voce trabalha com SQL Server e encontra dados escritos com acento ou sem acento, entra em cena a ideia de collation, que define como o banco vai comparar e ordenar textos. Em outras palavras, ele diz se 'Natalia' e 'Natália' serao tratados como iguais ou diferentes, e isso pode mudar bastante o resultado de uma consulta. A clausula usada para definir ou aplicar essas regras em comandos SQL é COLLATE. Ela permite ajustar a comparacao e a ordenacao de strings em uma consulta especifica, sem precisar alterar toda a configuracao do banco. No SQL Server, isso é muito comum quando voce quer controlar sensibilidade a maiusculas/minusculas e a acentos. E por que isso resolve o caso da questao? Porque o problema nao é de busca por padrao nem de idioma, mas de criterio de comparacao textual. Se o nome foi gravado com e sem acento, voce precisa de uma regra de collation que trate essas variacoes do jeito desejado. Por isso, a alternativa A está correta. Um detalhe importante: nomes como Latin1_General_CI_AS representam uma collation especifica, isto é, um conjunto de regras, mas nao sao a clausula pedida. A palavra-chave que voce usa no comando é COLLATE, e ela é a ferramenta pratica para ajustar essa comparacao.

Continue treinando

Questões relacionadas