-
Os tipos de dado serial e bigserial não são tipos verdadeiros, mas meramente uma notação conveniente para definir colunas identificadoras únicas (semelhante à propriedade AUTO_INCREMENTO existente em alguns outros bancos de dados).
-
Complementando o comentário do Natanel, além do serial e do bigserial existe o smallserial. Conforme descrito na documentação oficial, disponível em https://www.postgresql.org/docs/12/datatype-numeric.html.
-
A questão cobra do candidato conhecimento sobre tipos de dados do banco de dados PostgreSQL.
O PostgreSQL é um sistema de gerenciamento de bancos de dados (SGDB) objeto-relacional de código aberto, com mais de trinta anos de desenvolvimento [1].
Cumpre relembrar que um Sistema de Gerenciamento de Banco de Dados (SGDB), em síntese, é um conjunto de softwares responsáveis pelo gerenciamento de um banco de dados, cujo principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, a persistência, a manipulação e a organização dos dados (WIKIPEDIA, 2020) [2].
Dito isso, verifica-se que a questão pede os tipos de dados inteiro definidos pelo PostgreSQL que possuem a propriedade de autoincremento.
De acordo com a documentação da versão 12 do supracitado SGDB, existem três possibilidades [3]:
smallserial: tamanho de 2 bytes; possibilita o incremento de inteiros de 1 a 32767
serial: tamanho de 4 bytes; possibilita o incremento de inteiros de 1 a 2147483647
bigserial: tamanho de 8 bytes; possibilita o incremento de inteiros de 1 a 9223372036854775807
Portanto, a alternativa que traz o nosso gabarito é a LETRA E.
GABARITO DO PROFESSOR: LETRA E.
REFERÊNCIAS: [1] PostgreSQL. About PostgreSQL. Disponível em: site oficial do PostgreSQL. Acesso em: 15/7/2020; [2] WIKIPEDIA. Sistema de gerenciamento de banco de dados. Disponível em: site do Wikipedia na língua portuguesa. Acesso em: 15/7/2020; [3] PostgreSQL. PostgreSQL 12 Documentation, 2020. Disponível em: site oficial do PostgreSQL. Acesso em: 15/7/2020.
-
Complementando, o serial faz várias coisas embaixo dos panos:
- Cria uma sequência
- Deixa o valor da sequência como valor padrão do id
- Adiciona um NOT NULL no id
-
Vários SGBDs têm tipos de dados numéricos que permitem o comportamento de autoincremento, que adicionam uma unidade a cada novo registro. Esses tipos são bem úteis para se utilizar em chaves primárias sintéticas, por exemplo. No PostgreSQL, os tipos de dados serial são inteiros que têm o comportamento descrito.