Técnico em Tecnologia da Informação/Área: Sistemas de Informação
Sobre Sistemas de Gerenciamento de Banco de Dados (SGBDs) e seus comandos, analise as assertivas abaixo:I. No PostgreSQL, o tipo de dado SERIAL é frequentemente utilizado para criação de chaves primárias autoincrementadas, mas internamente ele é apenas um atalho para a criação de uma sequência associada a uma coluna inteira.II. No SQL Server, o comando IDENTITY é utilizado para definir colunas autoincrementadas, permitindo configurar o valor inicial e o incremento a cada nova inserção de registro.III. O comando TRUNCATE TABLE, presente tanto no PostgreSQL quanto no SQL Server, remove todas as linhas de uma tabela e pode ser revertido por um ROLLBACK em todos os casos, assim como o DELETE.Quais estão corretas?
AApenas I.
BApenas II.
CApenas I e II.
DApenas II e III.
EI, II e III.
Revelar gabarito e comentário▾
GabaritoC — Apenas I e II.
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”.
SERIAL, IDENTITY e TRUNCATE TABLE em PostgreSQL e SQL Server
Gabarito: letra C (apenas os itens I e II estão corretos). O tipo SERIAL no PostgreSQL é um atalho para sequência, o comando IDENTITY no SQL Server permite autoincremento configurável, mas a afirmação sobre TRUNCATE TABLE ser sempre reversível como DELETE é falsa devido a diferenças no comportamento transacional.
A questão testa o conhecimento de funcionalidades específicas de dois SGBDs populares: PostgreSQL e SQL Server. Vamos examinar cada assertiva.
SERIAL (PostgreSQL): Atalho para sequência; Chave primária autoincrementada; IDENTITY (SQL Server) (Configura seed e increment, Auto incremento por inserção); TRUNCATE TABLE (DDL (desaloca páginas), Reversível em todos os casos (falso), DELETE é DML (registra cada linha))
Item I — ✅ Correto
No PostgreSQL, o tipo SERIAL é amplamente usado para chaves primárias autoincrementadas. Internamente, ele cria uma sequência e define o valor padrão da coluna como nextval('sequencia'). Portanto, a descrição está correta: é um atalho para uma sequência.
Item II — ✅ Correto
No SQL Server, a propriedade IDENTITY é aplicada a uma coluna e aceita os parâmetros seed (valor inicial) e increment (valor do incremento). Cada nova inserção gera automaticamente o próximo valor. Afirmação correta.
Item III — ❌ Incorreto
A assertiva comete dois erros:
Diz que o TRUNCATE TABLE pode ser revertido por um ROLLBACK em todos os casos, o que não é verdade. Embora em alguns SGBDs (como PostgreSQL) o TRUNCATE seja transacional e possa ser desfeito dentro de uma transação, em outros (como SQL Server em contexto fora de transação explícita) ele é uma operação DDL que não pode ser revertida. A expressão "em todos os casos" invalida a afirmativa.
Afirma que o TRUNCATE se comporta assim como o DELETE. Na verdade, o DELETE é DML, registra cada linha removida e pode ser desfeito com ROLLBACK; já o TRUNCATE é DDL, desaloca páginas de dados e tem comportamento diferenciado quanto a logs e gatilhos.
NÃO CAIA NESSA!
A banca explora a generalização indevida. Muitos candidatos sabem que TRUNCATE remove todas as linhas, mas esquecem que sua reversibilidade depende do contexto transacional. O termo "em todos os casos" é o gatilho para marcar como falsa.
Conclusão: apenas as assertivas I e II estão corretas → gabarito: letra C.