Em relação aos campos de autoincremento, é correto afirmar:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: B
Para resolver essa questão, é essencial compreender o conceito e a funcionalidade do mecanismo de autoincremento em sistemas gerenciadores de banco de dados. No MySQL, uma coluna de autoincremento gera automaticamente um valor numérico sequencial cada vez que uma nova linha é inserida na tabela, fornecendo um meio de geração única e automática de chaves primárias.
O entendimento de como funciona o autoincremento em diferentes sistemas de banco de dados também é crucial, pois a questão aborda seu comportamento tanto no MySQL quanto no PostgreSQL, que são dois populares sistemas de gerenciamento de banco de dados.
A alternativa B é a correta e afirma que "Entre outras formas, o mecanismo de autoincremento pode ser definido ao declarar o tipo de campo como serial na criação da tabela no PostgreSQL." A declaração serial no PostgreSQL cria, implicitamente, uma sequência que gera automaticamente valores numéricos sequenciais, que é funcionalmente similar ao autoincremento no MySQL. Assim, ao inserir uma nova linha sem especificar um valor para a coluna serial, o sistema gera automaticamente o próximo valor da sequência, o que facilita a criação de chaves primárias únicas sem intervenção manual.
É importante notar que a questão pede um conhecimento específico sobre PostgreSQL na opção correta, apesar de o enunciado citar o MySQL. Os candidatos devem estar prontos para identificar detalhes que associam informações de diferentes SGBDs (Sistemas de Gerenciamento de Banco de Dados) em uma mesma questão.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Alternativa correta: B.
a) ERRADA: auto_increment não faz commit/rollback. Se você der rollback em uma transação e iniciá-la novamente depois, nos dois casos ela vai receber valores de auto_increment diferentes. Via de regra, valores gerados automaticamente não são reutilizados (há exceções).
b) CORRETA: http://www.postgresqltutorial.com/postgresql-serial/
c) ERRADA: valores de auto_increment não são reutilizados, salvo se forem resetados.
d) ERRADA: a questão descreveu o nextval().
e) ERRADA: ela pode receber esses valores manualmente sem problema nenhum, embora não seja recomendado. Caso não sejam informados, o MYSQL vai escolher o próximo valor que não esteja sendo usado.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo