Questão de Banco de Dados — Outros SGBDs e Questões Mescladas — VUNESP 2023
Banco de Dados›Outros SGBDs e Questões Mescladas
Código
vu196730
Banca
VUNESP
Órgão
TJM SP
Ano
2023
Cargo
Ana SJ ( )
O sistema gerenciador de bancos de dados H2 admite dados do tipo caractere que apresentam a propriedade de não distinguirem caracteres maiúsculos de minúsculos (not case sensitive).
Tal tipo de dados é definido pela sequência
AVARCHAR_NOTCASE.
BVARCHAR MINUSCASE.
CVARCHAR (CASE NOT).
DVARCHAR_IGNORECASE.
EVARCHAR (NOCASE).
Revelar gabarito e comentário▾
GabaritoD — VARCHAR_IGNORECASE.
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”.
Tipos de dados do H2: VARCHAR_IGNORECASE
Gabarito: letra D. O H2, um SGBD relacional embarcado escrito em Java, oferece o tipo VARCHAR_IGNORECASE justamente para armazenar cadeias de caracteres sem diferenciar maiúsculas de minúsculas (case-insensitive). As demais alternativas não correspondem a nenhum tipo de dado real do H2 — são distratores inventados.
O H2 é um sistema gerenciador de banco de dados relacional, leve e embarcado, muito usado em aplicações Java (inclusive em modo memória para testes). Ele segue o padrão SQL e oferece tipos de dados clássicos como VARCHAR, CHAR, INTEGER, DATE, entre outros. A particularidade cobrada nesta questão é a existência de um tipo específico para dados de caractere que ignora a diferença entre letras maiúsculas e minúsculas na comparação e na ordenação.
Esse tipo é o VARCHAR_IGNORECASE. Quando você declara uma coluna com esse tipo, o H2 armazena os dados de forma que as comparações (=, LIKE, ORDER BY, etc.) tratam 'A' e 'a' como equivalentes. Isso é útil em situações onde se deseja, por exemplo, buscar um nome de usuário sem se preocupar com a forma como ele foi digitado (caixa alta ou baixa).
Na prática, a declaração seria algo como:
CREATE TABLE Usuario (
nome VARCHAR_IGNORECASE
);
Com isso, um SELECT * FROM Usuario WHERE nome = 'maria' retornaria também o registro 'Maria'.
A pegadinha da banca está em criar alternativas que parecem plausíveis, mas que não existem na documentação do H2. Nenhuma das outras opções (VARCHAR_NOTCASE, VARCHAR MINUSCASE, VARCHAR (CASE NOT), VARCHAR (NOCASE)) é um tipo de dado válido no H2. O candidato que conhece a sintaxe exata do H2 acerta de imediato; quem tenta deduzir pela lógica pode cair em um dos distratores.
NÃO CAIA NESSA!
A banca aposta no candidato que tenta "adivinhar" o nome do tipo pela semântica ("not case", "minuscase", "nocase"). A única forma de acertar é conhecer a nomenclatura oficial do H2: VARCHAR_IGNORECASE. Não existe lógica dedutiva que leve a outra alternativa — é memorização pura da sintaxe do SGBD.
Tipos de caractere no H2
1VARCHAR (case-sensitive)
2VARCHAR_IGNORECASE
Não distingue maiúsculas de minúsculas
Comparações e ordenação tratam 'A' = 'a'
Uso: nomes de usuário, buscas sem preocupação com caixa
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
VARCHAR_NOTCASE não é um tipo de dado existente no H2. A nomenclatura correta para o comportamento "não diferenciar maiúsculas de minúsculas" no H2 é VARCHAR_IGNORECASE, e não uma variação com "NOTCASE".
Alternativa B — ❌ Incorreta
VARCHAR MINUSCASE também não existe no H2. A banca tenta confundir com a ideia de "minúsculas", mas o tipo correto não faz referência a "minus" e sim a "ignore case" (ignorar caixa).
Alternativa C — ❌ Incorreta
VARCHAR (CASE NOT) não é um tipo válido. A sintaxe com parênteses e a expressão "CASE NOT" não correspondem a nenhuma definição do H2. O tipo correto é uma única palavra composta: VARCHAR_IGNORECASE.
Alternativa D — ✅ Correta ⟵ GABARITO
VARCHAR_IGNORECASE é exatamente o tipo de dado do H2 que armazena caracteres sem distinguir maiúsculas de minúsculas. É a nomenclatura oficial documentada do SGBD.
Alternativa E — ❌ Incorreta
VARCHAR (NOCASE) não existe no H2. Embora "NOCASE" possa lembrar o comportamento desejado, o H2 usa a palavra "IGNORECASE" e não "NOCASE".
PEGA ESSA DICA!
Para questões sobre tipos de dados específicos de um SGBD (H2, MySQL, PostgreSQL, etc.), a melhor estratégia é memorizar a nomenclatura oficial. No caso do H2, grave: VARCHAR_IGNORECASE para case-insensitive. Não tente deduzir — a banca explora exatamente essa tentativa de adivinhação.