Pular para o conteúdo principal

Questão de Banco de Dados — Banco de Dados — Quadrix 2025

Banco de DadosBanco de Dados
Código
qg603661
Banca
Quadrix
Órgão
SEDF
Ano
2025
Nível
Superior
Cargo
Professor de Educação Básica: Informática
Acerca das linguagens de definição e manipulação de dados, dos conceitos e comandos SQL SERVER e DB2 e dos bancos de dados textuais, julgue o item a seguir.No DB2, a função IDENTITY é equivalente à cláusula SEQUENCE do SQL padrão, permitindo a reutilização automática de valores em caso de exclusão de registros para manter a sequência contínua.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

IDENTITY no DB2 e SEQUENCE no SQL padrão

Gabarito: ERRADO. A afirmativa está incorreta porque a função IDENTITY do DB2 não é equivalente à cláusula SEQUENCE do SQL padrão, e, principalmente, porque nenhuma delas permite a reutilização automática de valores após a exclusão de registros — a sequência não retrocede para preencher lacunas. A afirmativa erra ao afirmar que há reutilização automática de valores para manter a sequência contínua.

A questão aborda dois mecanismos de geração de valores numéricos sequenciais em bancos de dados relacionais: a propriedade IDENTITY e o objeto SEQUENCE. Ambos são usados para gerar valores únicos, geralmente para chaves primárias, mas são conceitos distintos e com comportamentos específicos.

A propriedade IDENTITY é um recurso de algumas colunas em tabelas de SGBDs como o DB2 da IBM, o SQL Server da Microsoft e o PostgreSQL. Quando uma coluna é definida como IDENTITY, o banco de dados gera automaticamente um valor numérico sequencial para cada nova linha inserida. Esse valor é único e não se repete, mesmo que a linha seja excluída posteriormente. O objetivo é garantir a unicidade da chave, não a continuidade numérica.

O objeto SEQUENCE, por sua vez, é um recurso do SQL padrão (a partir do SQL:2003) e também está presente em diversos SGBDs, como Oracle, PostgreSQL e DB2. Uma sequência é um objeto independente do banco de dados que gera uma série de valores numéricos. Ela pode ser usada para alimentar uma ou mais colunas de uma ou mais tabelas, oferecendo mais flexibilidade que a propriedade IDENTITY.

A principal diferença prática entre eles é que a IDENTITY está vinculada a uma coluna específica de uma tabela, enquanto a SEQUENCE é um objeto autônomo que pode ser compartilhado. No entanto, a característica crucial para esta questão é que ambos os mecanismos não reutilizam valores. Se uma linha com o valor 5 for inserida e depois excluída, o próximo valor gerado será 6, não 5. Isso ocorre porque o objetivo é a unicidade, e a reutilização de valores poderia causar conflitos ou ambiguidades, especialmente em chaves primárias.

A afirmativa da questão contém dois erros: primeiro, trata IDENTITY e SEQUENCE como equivalentes, quando são mecanismos distintos; segundo, e mais grave, afirma que eles permitem a reutilização automática de valores, o que é falso. A reutilização de valores não é uma característica desejável nem implementada nesses mecanismos.

NÃO CAIA NESSA!

A banca tenta confundir o candidato ao afirmar que a IDENTITY é equivalente à SEQUENCE e que ambos permitem a reutilização de valores. O erro está na segunda parte: a reutilização de valores não é uma característica de nenhum dos dois. O candidato pode até saber que IDENTITY e SEQUENCE são diferentes, mas pode cair na armadilha de achar que a reutilização é possível. Lembre-se: o objetivo é a unicidade, não a continuidade.

Geração de valores sequenciais
  • 1IDENTITY
    • Vinculada à coluna da tabela
    • Gera valor automático por linha
    • Não reutiliza valores excluídos
  • 2SEQUENCE
    • Objeto autônomo do banco
    • Pode alimentar várias tabelas
    • Não reutiliza valores excluídos
  • 3Objetivo comum
    • Garantir unicidade da chave
    • Continuidade numérica não é garantida
LEVEL · soulevel.com.br

Item — ❌ ERRADO

A afirmativa está errada por dois motivos. Primeiro, a função IDENTITY do DB2 não é equivalente à cláusula SEQUENCE do SQL padrão; são mecanismos distintos, embora ambos gerem valores sequenciais. Segundo, e mais importante, nenhum dos dois permite a reutilização automática de valores após a exclusão de registros. A sequência gerada não retrocede para preencher lacunas; o próximo valor é sempre o próximo da sequência, independentemente de exclusões anteriores. A reutilização de valores quebraria a garantia de unicidade, que é o propósito fundamental desses mecanismos.

Gabarito: ERRADO (letra E).

Link permanente: /questoes/qg603661