Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — Avança SP 2026

Banco de DadosConsultas e Comandos em SQL
Código
qa431971
Banca
Avança SP
Órgão
CM Francisco Morato
Ano
2026
Cargo
Tec ( )
CREATE TABLE cadfun ( CODFUN INTEGER NOT NULL PRIMARY KEY, NOME VARCHAR (40) NOT NULL, DEPTO CHAR (2), FUNCAO CHAR (20), SALARIO DECIMAL (10, 2) );   Considerando o código precedente, é correto afirmar que a chave primária é o campo:
  1. ANOME
  2. BVARCHAR
  3. CSALARIO
  4. DCODFUN
  5. ECHAR
Revelar gabarito e comentário

GabaritoD — CODFUN

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

Chave primária em SQL

Gabarito: letra D. A chave primária da tabela cadfun é o campo CODFUN, pois foi o único declarado com a restrição PRIMARY KEY na instrução CREATE TABLE — é ele que identifica unicamente cada registro. As demais alternativas apontam para outros campos ou para tipos de dados, que não exercem essa função.

A chave primária (primary key) é um dos conceitos fundamentais do modelo relacional de banco de dados. Ela é um campo (ou combinação de campos) cujo valor identifica de forma única cada linha da tabela. Isso significa que:

  • Não pode haver valores repetidos — dois registros não podem ter o mesmo valor de chave primária;

  • Não pode haver valores nulos — todo registro deve ter um valor para a chave primária.

No comando CREATE TABLE, a restrição PRIMARY KEY pode ser declarada de duas formas principais:

  1. Inline (diretamente na definição da coluna): CODFUN INTEGER NOT NULL PRIMARY KEY — é o caso da questão;

  2. Separada (ao final da lista de colunas): PRIMARY KEY (CODFUN) — útil para chaves compostas.

Na prática, ao declarar uma coluna como PRIMARY KEY, o SGBD cria automaticamente um índice para acelerar as buscas por esse campo e garante as propriedades de unicidade e não-nulidade. É comum que a chave primária seja um campo numérico, como CODFUN, mas isso não é obrigatório — o que a define é a restrição, não o tipo de dado.

A pegadinha desta questão é justamente confundir o papel de cada elemento da instrução SQL: VARCHAR e CHAR são tipos de dados, não campos; NOME e SALARIO são campos, mas não possuem a restrição PRIMARY KEY. O candidato que não lê a instrução com atenção pode marcar qualquer uma dessas opções, mas apenas CODFUN cumpre o papel de chave primária.

Guarde o critério decisivo: a chave primária é o campo que recebe a restrição PRIMARY KEY na definição da tabela — é exatamente isso que separa a alternativa correta das demais.

Alternativa A — ❌ Incorreta

O campo NOME é definido como VARCHAR(40) NOT NULL, mas não recebe a restrição PRIMARY KEY. Ele é apenas um campo obrigatório da tabela, sem a função de identificar unicamente os registros. A banca incluiu NOME como distrator porque é um campo comum de se imaginar como identificador, mas a definição da tabela é clara.

Alternativa B — ❌ Incorreta

VARCHAR é um tipo de dado (cadeia de caracteres de tamanho variável), não um campo da tabela. A chave primária é sempre um campo (coluna), nunca um tipo de dado. O candidato que confunde a sintaxe do CREATE TABLE pode marcar esta opção, mas ela não faz sentido como resposta.

Alternativa C — ❌ Incorreta

O campo SALARIO é definido como DECIMAL(10,2), mas não possui a restrição PRIMARY KEY. Ele é um campo comum de armazenamento de valores monetários, sem função de identificação. A banca o incluiu como distrator por ser um campo numérico, mas a definição da tabela não o marca como chave.

Alternativa D — ✅ Correta ⟵ GABARITO

O campo CODFUN é declarado como INTEGER NOT NULL PRIMARY KEY. A restrição PRIMARY KEY aplicada diretamente a ele o define como chave primária da tabela cadfun. É ele que identifica unicamente cada registro, garantindo que não haja valores repetidos nem nulos nesse campo.

Alternativa E — ❌ Incorreta

CHAR é um tipo de dado (cadeia de caracteres de tamanho fixo), não um campo da tabela. Assim como VARCHAR, é um distrator que confunde a sintaxe do CREATE TABLE com os campos reais. A chave primária é sempre um campo, nunca um tipo.

Gabarito: letra D — o campo CODFUN é a chave primária da tabela cadfun, pois foi o único declarado com a restrição PRIMARY KEY.

Link permanente: /questoes/qa431971