Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FGV 2023

Banco de DadosSQL
Código
fg072449
Banca
FGV
Órgão
TJ-RN
Ano
2023
Nível
Superior
Cargo
Analista Judiciário - Tecnologia de Informação – Análise de Suporte
Ao criar ou modificar um banco de dados no SQL Server é possível configurar a cláusula COLLATE da instrução CREATE DATABASE ou ALTER DATABASE.A configuração de COLLATE para um banco de dados:
  1. Aafeta todos os metadados no banco de dados;
  2. Blimita as opções de collation para expressões;
  3. Cdetermina a definição de collation do servidor;
  4. Daltera a definição de COLLATE no nível de coluna;
  5. Einfluencia a apresentação de dados dos tipos float e real.
Revelar gabarito e comentário

GabaritoA — afeta todos os metadados no 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”.

Cláusula COLLATE no SQL Server

Gabarito: letra A. No SQL Server, a cláusula COLLATE aplicada a um banco de dados (via CREATE DATABASE ou ALTER DATABASE) define as regras de ordenação e comparação de caracteres (case sensitivity, acentos, etc.) que afetam todos os metadados do banco, como nomes de objetos (tabelas, colunas, índices) e o comportamento padrão para colunas de caracteres. Essa é a única alternativa que descreve corretamente o alcance da configuração.

A questão testa o entendimento do escopo da cláusula COLLATE em nível de banco de dados no SQL Server. A cláusula define o collation padrão para o banco, que é herdado por todos os objetos criados dentro dele (a menos que um collation diferente seja explicitamente especificado no nível de coluna ou expressão).

Alternativa

Descrição

Correta?

Justificativa

A

Afeta todos os metadados no banco de dados

✅ Sim

Define regras de ordenação/comparação para nomes de objetos e comportamento padrão de colunas de caracteres

B

Limita as opções de collation para expressões

❌ Não

É possível usar COLLATE em consultas para forçar collation específico, independentemente do banco

C

Determina a definição de collation do servidor

❌ Não

O collation do banco é independente do collation do servidor (definido na instalação)

D

Altera a definição de COLLATE no nível de coluna

❌ Não

Apenas define o padrão para novas colunas; colunas existentes precisam de ALTER TABLE

E

Influencia a apresentação de dados dos tipos float e real

❌ Não

Collation afeta apenas dados de caracteres (char, varchar, text), não tipos numéricos

Alternativa A — ✅ Correta ⟵ GABARITO

A definição de COLLATE no banco de dados afeta os metadados do banco, ou seja, os nomes das tabelas, colunas, índices e outros objetos armazenados no banco. Isso porque os metadados são tratados como strings e seguem as regras de ordenação e comparação do collation definido. Por exemplo, ao criar uma tabela com nome que contenha acentos, a comparação dos nomes será feita conforme o collation.

Alternativa B — ❌ Incorreta

A cláusula COLLATE no banco não limita as opções de collation para expressões; pelo contrário, você pode usar a cláusula COLLATE em tempo de consulta para forçar um collation específico, independentemente do collation do banco. A definição do banco é apenas o padrão.

Alternativa C — ❌ Incorreta

O collation do banco de dados é independente do collation do servidor. O servidor possui um collation definido na instalação (collation do sistema), e cada banco de dados pode ter o seu próprio. A cláusula COLLATE no banco não determina o collation do servidor.

Alternativa D — ❌ Incorreta

Alterar o COLLATE do banco de dados não altera o collation de colunas já existentes; ele define apenas o collation padrão para novas colunas criadas sem collation explícito. Para alterar o collation de uma coluna existente, é necessário usar ALTER TABLE com MODIFY/ALTER COLUMN.

Alternativa E — ❌ Incorreta

Collation só afeta dados de tipos de caracteres (char, varchar, text, nchar, nvarchar, ntext), não tipos numéricos como float e real. A apresentação de números não é influenciada por regras de ordenação de caracteres.

PEGA ESSA DICA!

Lembre-se que COLLATE em nível de banco afeta metadados e o padrão para colunas de caracteres. Para confirmar, no SQL Server você pode consultar SELECT DATABASEPROPERTYEX('nome_banco', 'Collation') para ver o collation do banco, e notar que ele se aplica a todos os nomes de objetos.

Gabarito: letra A.

Link permanente: /questoes/fg072449