Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2017

Banco de DadosSQL
Código
fc036848
Banca
FCC
Órgão
DPE-RS
Ano
2017
Nível
Médio
Cargo
Técnico - Informática
Um Técnico está criando uma tabela filha chamada funcionario, que será relacionada a uma tabela pai chamada departamento, por meio da chave estrangeira. Como parte do comando CREATE TABLE, usado para criar a tabela filha, ele deseja estabelecer uma restrição de chave estrangeira chamada emp_dept_fk para o campo department_id, que fará referência ao campo department_id que é chave primária na tabela departamento. Esta restrição será criada corretamente se for utilizada, na criação da tabela funcionario, a instrução SQL
  1. ARESTRICTION emp_dept_fk FOREIGN KEY (department_id) PRIMARY KEY departmento(department_id)
  2. BFOREIGN KEY emp_dept_fk FIELD(department_id) REFERENCES departmento(department_id)
  3. CCONSTRAINT emp_dept_fk FOREIGN KEY (department_id) REFERENCES departmento(department_id)
  4. DDEFINE CONSTRAINT emp_dept_fk FOREIGN KEY (department_id) WITH REFERENCES departmento department_id)
  5. ECONSTRAINT emp_dept_fk FOREIGN KEY (department_id) PRIMARY KEY departmento(department_id)
Revelar gabarito e comentário

GabaritoC — CONSTRAINT emp_dept_fk FOREIGN KEY (department_id) REFERENCES departmento(department_id)

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: Definição de Chave Estrangeira (FOREIGN KEY)

Gabarito: letra C. A sintaxe correta para criar uma restrição de chave estrangeira (foreign key) dentro de um comando CREATE TABLE utiliza a cláusula CONSTRAINT, seguida do nome da restrição, a cláusula FOREIGN KEY com a(s) coluna(s) da tabela filha, e a cláusula REFERENCES indicando a tabela pai e sua(s) coluna(s) de referência. É exatamente o que a alternativa C apresenta: CONSTRAINT emp_dept_fk FOREIGN KEY (department_id) REFERENCES departmento(department_id).

A banca cobra o conhecimento da sintaxe padrão SQL para definição de integridade referencial durante a criação de tabelas. A pegadinha está em alternativas que usam palavras-chave inexistentes ou ordem incorreta dos elementos.

Alternativa A — ❌ Incorreta

Utiliza a palavra RESTRICTION (que não é um comando SQL padrão; o correto é CONSTRAINT) e troca REFERENCES por PRIMARY KEY, o que não faz sentido para uma chave estrangeira.

Alternativa B — ❌ Incorreta

A ordem está errada: primeiro deve vir CONSTRAINT nome, depois FOREIGN KEY (coluna) e depois REFERENCES. A alternativa coloca FOREIGN KEY emp_dept_fk FIELD(department_id) REFERENCES... – a palavra FIELD não é usada nesse contexto; além disso, falta a palavra CONSTRAINT.

Alternativa C — ✅ Correta ⟵ GABARITO

Sintaxe exata: CONSTRAINT nome_da_restricao FOREIGN KEY (coluna_filha) REFERENCES tabela_pai (coluna_pai). A alternativa escreve departmento (com 'o' no final) em vez de departamento, mas isso é um erro de digitação no enunciado; a estrutura está correta.

Alternativa D — ❌ Incorreta

Usa DEFINE CONSTRAINT (não é padrão; o correto é apenas CONSTRAINT) e WITH REFERENCES (o correto é REFERENCES sem o WITH).

Alternativa E — ❌ Incorreta

Troca REFERENCES por PRIMARY KEY, o que criaria uma nova chave primária, não uma chave estrangeira.

NÃO CAIA NESSA!

A banca explora a confusão entre CONSTRAINT (para nomear a restrição) e outras palavras como RESTRICTION ou DEFINE, além de inverter FOREIGN KEY e REFERENCES. O aluno deve lembrar a sequência correta: CONSTRAINT → FOREIGN KEY (colunas) → REFERENCES tabela (colunas). A ausência de CONSTRAINT também é um erro comum (alternativa B).

PEGA ESSA DICA!

Memorize a sintaxe: CONSTRAINT nome_fk FOREIGN KEY (coluna_filha) REFERENCES tabela_pai (coluna_pai). Pratique também a adição de chave estrangeira com ALTER TABLE. Esse é um tópico recorrente em concursos que cobram SQL.

Gabarito: letra C

Link permanente: /questoes/fc036848