Pular para o conteúdo principal

Questão de Banco de Dados — Outros SGBDs e Questões Mescladas — VUNESP 2023

Banco de DadosOutros 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

  1. AVARCHAR_NOTCASE.
  2. BVARCHAR MINUSCASE.
  3. CVARCHAR (CASE NOT).
  4. DVARCHAR_IGNORECASE.
  5. 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.

Gabarito: letra D

Link permanente: /questoes/vu196730