Questão de Banco de Dados — Administração de banco de dados — FGV 2026
Banco de Dados›Administraçã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.
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');
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);
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');
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');
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 (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.