Pular para o conteudo

Resumo TI Banco de Dados: Dependências Parciais e Transitivas

Com a dependência funcional formalizada, dá para nomear com precisão dois padrões específicos que geram problema: a dependência parcial e a dependência transitiva. Cada uma delas é a causa formal de um tipo de anomalia — e é exatamente nelas que as próximas formas normais da trilha (2FN e 3FN) vão mirar.

Neste resumo, você vai aprender a diferença entre atributo primo e não primo, entender o que caracteriza uma dependência parcial (com um exemplo novo, de chave composta) e uma dependência transitiva (retomando o exemplo já usado nos dois resumos anteriores) e ver por que essa distinção é o que separa 2FN de 3FN.

📲 Canal Oficial do Dicionário do Concurseiro no WhatsApp

Receba resumos, questões comentadas e novidades diretamente no seu celular!

👉 Acessar Canal no WhatsApp

💡 Conteúdo exclusivo para concurseiros. Totalmente gratuito!

🏷️ Atributo primo x não primo

Antes de definir os dois tipos de dependência, uma distinção usada nos dois: atributo primo é aquele que participa de ao menos uma chave candidata da relação; atributo não primo é todo o resto. Em Funcionario(matricula, nome, departamento, gerente_departamento), só matricula é primo — os demais são não primos. As dependências parcial e transitiva, como você vai ver, são definidas sempre a partir de um atributo não primo.

➗ Dependência parcial (exige chave composta)

Existe dependência parcial quando um atributo não primo depende de apenas parte de uma chave candidata composta, e não da chave inteira. Como o exemplo da trilha até aqui usa chave simples (só matricula), é logicamente impossível haver dependência parcial nele — é preciso uma chave composta. Considere Pedido_Item(pedido_id, produto_id, quantidade, nome_produto, preco_produto), com chave candidata composta (pedido_id, produto_id). O atributo quantidade depende da combinação das duas colunas (quanto foi pedido daquele produto naquele pedido) — é dependência total. Já nome_produto e preco_produto dependem só de produto_id — o nome e o preço do produto são os mesmos independentemente de qual pedido está sendo consultado. Essa é a dependência parcial: produto_id → nome_produto, mesmo a chave da tabela sendo (pedido_id, produto_id).

🔗 Dependência transitiva (reaproveitando o exemplo anterior)

Existe dependência transitiva quando um atributo não primo depende de outro atributo não primo, que por sua vez depende da chave — em vez de depender diretamente dela. Voltando a Funcionario(matricula, nome, departamento, gerente_departamento): valem matricula → departamento e departamento → gerente_departamento. Como departamento é não primo (não é chave candidata) e determina gerente_departamento, a dependência matricula → gerente_departamento é transitiva — ela passa “por dentro” de outro atributo não primo, em vez de vir direto da chave.

🎯 Por que a distinção importa: 2FN mira uma, 3FN mira a outra

Essa separação não é só terminológica — ela organiza os próximos dois resumos da trilha: a Segunda Forma Normal (2FN) exige a eliminação de dependências parciais; a Terceira Forma Normal (3FN) exige a eliminação de dependências transitivas. Antes das duas, porém, é preciso garantir a Primeira Forma Normal (1FN) — um pré-requisito de atomicidade que independe de dependência funcional, e que é o tema do próximo resumo.

⚠️ Pegadinhas comuns

  • Dependência parcial só existe com chave composta: se a chave candidata da tabela é um único atributo, é logicamente impossível haver dependência parcial nela — toda dependência de um atributo não primo é, no máximo, transitiva;
  • Transitividade é sobre a cadeia passar por um não primo, não sobre “distância”: matricula → departamento → gerente_departamento é transitiva porque departamento é não primo; se o atributo intermediário fosse ele próprio uma chave candidata, a dependência resultante não seria transitiva;
  • As duas podem coexistir na mesma tabela mal projetada: uma tabela com chave composta pode ter, ao mesmo tempo, atributos com dependência parcial (de parte da chave) e atributos com dependência transitiva (de um não primo);
  • Não confundir “dependência transitiva” com o axioma de Armstrong de transitividade visto no resumo anterior: o axioma é uma regra de inferência (X→Y e Y→Z implica X→Z, sempre válido matematicamente); a dependência transitiva aqui é um diagnóstico de projeto, que só é “problema” quando o atributo do meio (Y) não é chave candidata.

🎯 Dica Final para a Prova

Ao analisar uma tabela na prova, primeiro identifique a chave candidata e classifique cada atributo como primo ou não primo. Depois, para cada atributo não primo, pergunte: “ele depende da chave inteira (se composta) ou só de parte dela?” — se só de parte, é parcial. Depois pergunte: “ele depende direto da chave ou de outro atributo não primo?” — se de outro não primo, é transitiva.

✓ Antes de aplicar 2FN e 3FN para eliminar essas duas dependências, falta garantir um pré-requisito mais básico: que cada célula da tabela guarde um único valor atômico. Essa é a Primeira Forma Normal, tema do próximo resumo.


📍Gostou do conteúdo? Deixe um comentário, compartilhe e continue acompanhando o Dicionário do Concurseiro para mais Resumos de TI – Banco de Dados. Aqui você encontra explicações claras, atualizadas e com foco total no que cai em prova!

👉 Leia também no Dicionário do Concurseiro: Resumo TI Banco de Dados: Primeira Forma Normal (1FN)


📘 Dependência parcial mora numa chave composta; dependência transitiva mora num atributo não primo que virou “chave disfarçada”. Continue estudando!

Gostou deste conteúdo?

Favoritar

Comentários

Seja o primeiro a comentar.