Questão de Banco de Dados — Conceitos e Fundamentos de Modelo Relacional — INSTITUTO AOCP 2024
Banco de Dados›Conceitos e Fundamentos de Modelo Relacional
Código
qa630663
Banca
INSTITUTO AOCP
Órgão
MPE PR
Ano
2024
Cargo
Ana ( )
Em um banco de dados relacional, as dependências funcionais desempenham um papel crucial na normalização e integridade dos dados. Considere uma tabela “Funcionários” com os seguintes atributos: (ID_Funcionário, Nome, Departamento, Salário, ID_Gerente) e assinale a alternativa correta em relação a dependências funcionais.
ASe ID_Funcionário → Nome, então Nome é uma chave candidata.
BSe Departamento → ID_Gerente, então Departamento deve ser uma chave estrangeira.
CSe {ID_Funcionário, Departamento} → Salário, então Salário depende funcionalmente da combinação de ID_Funcionário e Departamento.
DSe Salário → Departamento, então há uma dependência funcional parcial que deve ser eliminada na terceira forma normal (3NF).
ESe ID_Funcionário → {Nome, Departamento, Salário}, então ID_Funcionário é uma chave estrangeira.
Revelar gabarito e comentário▾
GabaritoC — Se {ID_Funcionário, Departamento} → Salário, então Salário depende funcionalmente da combinação de ID_Funcionário e Departamento.
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”.
Dependências funcionais no modelo relacional
Gabarito: letra C. A alternativa C está correta porque expressa exatamente a definição formal de dependência funcional: se {ID_Funcionário, Departamento} → Salário, então o valor de Salário é determinado pela combinação dos valores de ID_Funcionário e Departamento. As demais alternativas confundem conceitos fundamentais: chave candidata, chave estrangeira, dependência parcial e transitiva.
Uma dependência funcional (DF) é uma restrição entre dois conjuntos de atributos de uma relação. Formalmente, dizemos que X → Y (lê-se "X determina Y" ou "Y é funcionalmente dependente de X") se, para quaisquer duas tuplas t1 e t2 de uma relação r, sempre que t1[X] = t2[X], então t1[Y] = t2[Y]. Em outras palavras, o valor de X identifica unicamente o valor de Y. Essa é a definição central da teoria de normalização de bancos de dados relacionais.
A DF é uma propriedade semântica dos atributos, ou seja, reflete o significado dos dados no mundo real. Por exemplo, em uma tabela de funcionários, se cada ID_Funcionário é único, então ID_Funcionário → Nome, pois cada ID identifica um único nome. No entanto, o fato de X → Y não implica que Y → X. Se ID_Funcionário → Nome, não podemos afirmar que Nome → ID_Funcionário, pois pode haver homônimos.
As dependências funcionais são a base para a normalização. A 2FN exige que todo atributo não-chave dependa da chave inteira (dependência funcional total), eliminando dependências parciais. A 3FN exige que não haja dependências transitivas, ou seja, que atributos não-chave não dependam de outros atributos não-chave. A Forma Normal de Boyce-Codd (BCFN) é uma variação mais forte da 3FN, exigindo que todo determinante seja uma chave candidata.
A pegadinha desta questão está em confundir os papéis dos atributos: chave candidata, chave primária, chave estrangeira e determinante. Uma chave candidata é um atributo (ou conjunto de atributos) que identifica unicamente cada tupla. Uma chave estrangeira é um atributo que referencia a chave primária de outra tabela, criando uma ligação lógica entre elas. Um determinante é simplesmente o lado esquerdo de uma dependência funcional, e não precisa ser uma chave.
Guarde a distinção entre determinante, chave candidata e chave estrangeira: é exatamente nessa fronteira que as alternativas se dividem.
Critério
Alternativa C (correta)
Alternativas A, B, D, E (incorretas)
Definição de dependência funcional
✅ Expressa exatamente a definição formal: X → Y significa que Y é determinado por X
❌ Confundem DF com outros conceitos (chave candidata, estrangeira, parcial)
Papel do determinante
✅ {ID_Funcionário, Departamento} é o determinante; Salário é o dependente
❌ Tratam determinante como chave candidata (A), estrangeira (B, E) ou dependência parcial (D)
Relação com normalização
✅ Não exige normalização; apenas descreve a DF
❌ D associa incorretamente à 3FN (parcial é eliminada na 2FN)
Conceito de chave
✅ Não menciona chave; foca na DF
❌ A confunde determinante com chave candidata; E confunde chave candidata com estrangeira
Alternativa A — ❌ Incorreta
Se ID_Funcionário → Nome, isso significa que ID_Funcionário determina Nome, mas não que Nome seja uma chave candidata. Uma chave candidata é um atributo que identifica unicamente cada tupla da relação. Nome poderia ser uma chave candidata apenas se Nome → ID_Funcionário também fosse verdadeiro, o que não é garantido (pode haver homônimos). A alternativa confunde o conceito de determinante com o de chave candidata.
Alternativa B — ❌ Incorreta
Se Departamento → ID_Gerente, isso significa que cada departamento tem um único gerente, mas não que Departamento deva ser uma chave estrangeira. Uma chave estrangeira é um atributo que referencia a chave primária de outra tabela, criando uma ligação lógica entre elas. A existência de uma dependência funcional não implica a necessidade de uma chave estrangeira. A alternativa confunde dependência funcional com integridade referencial.
Alternativa C — ✅ Correta ⟵ GABARITO
Se {ID_Funcionário, Departamento} → Salário, então Salário depende funcionalmente da combinação de ID_Funcionário e Departamento. Isso é exatamente a definição de dependência funcional: o valor de Salário é determinado pelos valores de ID_Funcionário e Departamento em conjunto. A alternativa está correta porque descreve precisamente o significado da notação X → Y.
Alternativa D — ❌ Incorreta
Se Salário → Departamento, isso indica uma dependência funcional, mas não necessariamente uma dependência parcial. Uma dependência parcial ocorre quando um atributo não-chave depende de apenas parte de uma chave composta. Para haver dependência parcial, é preciso que a chave seja composta e que o atributo dependa de apenas um dos atributos que a compõem. A alternativa confunde dependência funcional com dependência parcial e associa incorretamente à 3FN, quando a dependência parcial é eliminada na 2FN.
Alternativa E — ❌ Incorreta
Se ID_Funcionário → {Nome, Departamento, Salário}, então ID_Funcionário determina todos os outros atributos, o que o caracteriza como uma chave candidata, não como uma chave estrangeira. Uma chave estrangeira é um atributo que referencia a chave primária de outra tabela. A alternativa confunde chave candidata com chave estrangeira.