Pular para o conteúdo principal

Questão de Banco de Dados — Administração de banco de dados — FGV 2026

Banco de DadosAdministração de banco de dados
Código
fg127376
Banca
FGV
Órgão
AL-RO
Ano
2026
Nível
Superior
Cargo
Analista Legislativo (Tecnologia da Informação - Banco de Dados)
Um administrador de banco de dados precisa criar uma tabela chamada PRODUTO e, subsequentemente, inserir um registro. A tabela deve ter os campos: ID_PRODUTO (chave primária, inteiro), NOME (texto, obrigatório) e PRECO_UNITARIO (numérico, com valor padrão 1.00 caso não seja especificado).Assinale o trecho de código SQL que executa corretamente a criação da tabela e a inserção de um novo produto que não especifica o preço unitário.
  1. ACREATE TABLE PRODUTO (ID_PRODUTO INT PRIMARY KEY,NOME VARCHAR(100) NOT NULL,PRECO_UNITARIO NUMERIC(10, 2) CHECK (PRECO_UNITARIO>= 0));INSERT INTO PRODUTO (ID_PRODUTO, NOME) VALUES (1,'Teclado Mecânico');
  2. BCREATE TABLE PRODUTO (ID_PRODUTO INT PRIMARY KEY,NOME VARCHAR(100) NOT NULL,PRECO_UNITARIO DECIMAL(10, 2) DEFAULT 1.00);INSERT INTO PRODUTO VALUES (1, 'Teclado Mecânico', NULL);
  3. CCREATE TABLE PRODUTO (ID_PRODUTO INT PRIMARY KEY,NOME VARCHAR(100) NOT NULL,PRECO_UNITARIO NUMERIC(10, 2) DEFAULT 1.00);INSERT INTO PRODUTO (ID_PRODUTO, NOME) VALUES (1,'Teclado Mecânico');
  4. DCREATE TABLE PRODUTO (ID_PRODUTO INT PRIMARY KEY,NOME VARCHAR(100) DEFAULT 'SEM NOME',PRECO_UNITARIO DECIMAL(10, 2));INSERT INTO PRODUTO (ID_PRODUTO, NOME) VALUES (1,'Teclado Mecânico');
  5. ECREATE TABLE PRODUTO (ID_PRODUTO INT NOT NULL,NOME VARCHAR(100) NOT NULL,PRECO_UNITARIO NUMERIC(10, 2) DEFAULT 1.00);INSERT INTO PRODUTO (ID_PRODUTO, NOME) VALUES (1,'Teclado Mecânico');
Revelar gabarito e comentário

GabaritoC — CREATE TABLE PRODUTO ( ID_PRODUTO INT PRIMARY KEY, NOME VARCHAR(100) NOT NULL, PRECO_UNITARIO NUMERIC(10, 2) DEFAULT 1.00 ); INSERT INTO PRODUTO (ID_PRODUTO, NOME) VALUES (1, 'Teclado Mecânico');

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

SQL – Criação de tabela e INSERT com DEFAULT

Gabarito: letra C. A alternativa C cria a tabela com chave primária, NOT NULL no nome e DEFAULT 1.00 no preço, e insere omitindo o preço, aplicando o valor padrão. As demais alternativas possuem erros como omissão do DEFAULT, inserção explícita de NULL, falta de NOT NULL, ou ausência de chave primária.

Característica

Alternativa C (Correta)

Alternativa A (Incorreta)

Alternativa B (Incorreta)

Alternativa D (Incorreta)

Alternativa E (Incorreta)

Chave primária

ID_PRODUTO INT PRIMARY KEY

ID_PRODUTO INT PRIMARY KEY

ID_PRODUTO INT PRIMARY KEY

ID_PRODUTO INT PRIMARY KEY

ID_PRODUTO INT NOT NULL ❌ (sem PRIMARY KEY)

NOT NULL no NOME

NOME VARCHAR(100) NOT NULL

NOME VARCHAR(100) NOT NULL

NOME VARCHAR(100) NOT NULL

NOME VARCHAR(100) DEFAULT 'SEM NOME' ❌ (sem NOT NULL)

NOME VARCHAR(100) NOT NULL

DEFAULT 1.00 no PRECO_UNITARIO

PRECO_UNITARIO NUMERIC(10,2) DEFAULT 1.00

Apenas CHECK, sem DEFAULT ❌

PRECO_UNITARIO DECIMAL(10,2) DEFAULT 1.00

Sem DEFAULT ❌

PRECO_UNITARIO NUMERIC(10,2) DEFAULT 1.00

INSERT correto (omite preço)

INSERT INTO PRODUTO (ID_PRODUTO, NOME) VALUES (1, 'Teclado Mecânico')

INSERT INTO PRODUTO (ID_PRODUTO, NOME) VALUES (1, 'Teclado Mecânico') ✅ (mas sem DEFAULT, preço seria NULL)

INSERT INTO PRODUTO VALUES (1, 'Teclado Mecânico', NULL) ❌ (NULL explícito sobrescreve DEFAULT)

INSERT INTO PRODUTO (ID_PRODUTO, NOME) VALUES (1, 'Teclado Mecânico') ✅ (mas sem DEFAULT no preço)

INSERT INTO PRODUTO (ID_PRODUTO, NOME) VALUES (1, 'Teclado Mecânico') ✅ (mas sem PRIMARY KEY)

Resultado do PRECO_UNITARIO

1.00 (DEFAULT aplicado) ✅

NULL (sem DEFAULT) ❌

NULL (NULL explícito) ❌

NULL (sem DEFAULT) ❌

1.00 (DEFAULT aplicado) ✅

Alternativa A — ❌ Incorreta

Falta a cláusula DEFAULT 1.00 no campo PRECO_UNITARIO. A constraint CHECK não substitui o valor padrão; ao omitir o preço no INSERT, o campo receberia NULL, não 1.00.

Alternativa B — ❌ Incorreta

Apesar de ter o DEFAULT, o INSERT passa explicitamente o valor NULL para PRECO_UNITARIO. O default só é aplicado se a coluna for omitida; valores explícitos de NULL sobrescrevem o default.

Alternativa C — ✅ Correta ⟵ GABARITO

Define a tabela exatamente como pedido: ID_PRODUTO INT PRIMARY KEY, NOME VARCHAR(100) NOT NULL, PRECO_UNITARIO NUMERIC(10,2) DEFAULT 1.00. O INSERT especifica apenas ID_PRODUTO e NOME, portanto PRECO_UNITARIO recebe o valor padrão 1.00.

Alternativa D — ❌ Incorreta

NOME possui DEFAULT 'SEM NOME' mas não possui NOT NULL, conforme exigido ("obrigatório"). Além disso, PRECO_UNITARIO não possui DEFAULT, então seria NULL.

Alternativa E — ❌ Incorreta

A coluna ID_PRODUTO é definida como INT NOT NULL, mas não é declarada como chave primária (PRIMARY KEY). A restrição NOT NULL não cria a chave primária; é necessário PRIMARY KEY ou uma constraint específica.

NÃO CAIA NESSA!

A banca explora a diferença entre omitir a coluna no INSERT (que ativa o DEFAULT) e passar explicitamente NULL (que não ativa). Na alternativa B, o candidato pode achar que NULL no lugar da coluna acionará o default, mas isso é falso.

Gabarito: letra C.

Link permanente: /questoes/fg127376