Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FCC 2016

Banco de DadosPostgreSQL
Código
fc034335
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2016
Nível
Superior
Cargo
Analista Judiciário - Tecnologia da Informação
São vários os tipos de dados numéricos no PostgreSQL. O tipo
  1. Asmallint tem tamanho de armazenamento de 1 byte, que permite armazenar a faixa de valores inteiros de −128 a 127.
  2. Bbigint é a escolha usual para números inteiros, pois oferece o melhor equilíbrio entre faixa de valores, tamanho de armazenamento e desempenho.
  3. Cinteger tem tamanho de armazenamento de 4 bytes e pode armazenar valores na faixa de −32768 a 32767.
  4. Dnumeric pode armazenar números com precisão variável de, no máximo, 100 dígitos.
  5. Eserial é um tipo conveniente para definir colunas identificadoras únicas, semelhante à propriedade auto incremento.
Revelar gabarito e comentário

GabaritoE — serial é um tipo conveniente para definir colunas identificadoras únicas, semelhante à propriedade auto incremento.

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

PostgreSQL: Tipos Numéricos

Gabarito: letra E. O tipo serial é um atalho para criar colunas de incremento automático (auto increment), sendo uma conveniência equivalente a definir uma sequência e um valor padrão. As demais alternativas contêm erros nos tamanhos ou faixas de valores dos tipos numéricos do PostgreSQL.

A banca testa o conhecimento das características dos tipos numéricos: smallint, integer, bigint, numeric e serial. É essencial memorizar tamanhos e intervalos.

Tipo

Tamanho (bytes)

Faixa de valores (mínimo a máximo)

Observação principal

smallint

2

−32.768 a 32.767

Alternativa A erra tamanho (1 byte) e faixa (−128 a 127)

integer

4

−2.147.483.648 a 2.147.483.647

Alternativa C erra faixa (−32.768 a 32.767)

bigint

8

−9.223.372.036.854.775.808 a 9.223.372.036.854.775.807

Alternativa B erra ao dizer que é o "usual"

numeric

variável

até 131.072 dígitos antes da vírgula; 16.383 após

Alternativa D erra limite (100 dígitos)

serial

4 (implícito)

mesmo que integer (auto incremento)

Alternativa E correta: conveniência para auto incremento

Alternativa A — ❌ Incorreta

O smallint possui 2 bytes de armazenamento, e não 1 byte. Sua faixa correta é de −32.768 a 32.767, e não de −128 a 127 (que é a faixa do tinyint em outros bancos).

Alternativa B — ❌ Incorreta

O tipo usual para números inteiros é o integer (4 bytes), não o bigint. O bigint (8 bytes) é usado quando o intervalo do integer é insuficiente. A afirmação inverteu a recomendação.

Alternativa C — ❌ Incorreta

O integer tem tamanho de 4 bytes, mas sua faixa correta é de −2.147.483.648 a 2.147.483.647, e não de −32.768 a 32.767 (que é a faixa do smallint).

Alternativa D — ❌ Incorreta

O tipo numeric pode armazenar números com precisão variável de, no máximo, 131.072 dígitos antes da vírgula e 16.383 dígitos após a vírgula, e não apenas 100 dígitos. O limite de 100 dígitos está incorreto.

Alternativa E — ✅ Correta ⟵ GABARITO

O serial é um tipo de conveniência que cria uma coluna inteira com incremento automático, semelhante à propriedade AUTO_INCREMENT de outros bancos de dados. É amplamente utilizado para colunas de chave primária identificadoras.

NÃO CAIA NESSA!

A banca explora a confusão entre os intervalos e tamanhos dos tipos inteiros. O candidato deve decorar que smallint → 2 bytes (−32.768 a 32.767); integer → 4 bytes (−2.147.483.648 a 2.147.483.647); bigint → 8 bytes. Não confundir com os limites de outras bases.

Gabarito: letra E

Link permanente: /questoes/fc034335