Pular para o conteudo

Resumo TI Banco de Dados: Dependências Multivaloradas e de Junção

O resumo anterior tratou a dependência multivalorada de forma intuitiva, só o suficiente para decompor um exemplo e aplicar 4FN. Agora é hora de formalizar: dependência multivalorada (MVD) e sua generalização, dependência de junção (JD), são os dois conceitos que fecham a base teórica por trás de 4FN e 5FN — as duas últimas formas normais da família clássica de Codd e Fagin.

Neste resumo, você vai ver a definição formal de MVD, entender por que ela sempre aparece em pares complementares, conhecer o teorema que fundamenta a decomposição por MVD, generalizar para dependência de junção e revisitar as definições formais de 4FN e 5FN com essa base.

📲 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!

📐 Definição formal de dependência multivalorada

Numa relação R, com atributos particionados em X, Y e Z (onde Z = R − X − Y), vale a dependência multivalorada X →→ Y quando, para todo valor de X, o conjunto de valores de Y associados a ele é o mesmo, não importa qual valor de Z acompanha a linha. No exemplo do resumo anterior, funcionario →→ habilidade vale porque o conjunto de habilidades de cada funcionário não muda dependendo de qual idioma aparece na mesma linha.

👥 MVDs sempre vêm em pares complementares

Uma propriedade estrutural de MVD: se X →→ Y vale em R, então X →→ Z também vale (com Z = R − X − Y) — as duas são complementares e sempre valem juntas. No exemplo de habilidades e idiomas, funcionario →→ habilidade implica automaticamente funcionario →→ idioma. É por isso que a decomposição resultante sempre separa as duas listas multivaloradas em tabelas distintas, nunca só uma.

🧮 MVD trivial x não trivial

Assim como dependência funcional, MVD também tem a distinção trivial x não trivial: X →→ Y é trivial quando Y é subconjunto de X ou quando X∪Y = R (não sobra nenhum atributo em Z). Só MVDs não triviais indicam redundância real e são relevantes para 4FN.

🧩 Teorema de decomposição (base formal do resumo anterior)

Se X →→ Y vale em R, então R pode ser decomposta sem perda em duas projeções: R1(X, Y) e R2(X, Z) — e vale a recíproca: se essa decomposição em R1(X, Y) e R2(X, Z) é sem perda, então X →→ Y vale em R (é um teorema “se e somente se”). Esse teorema é exatamente o que fundamentou a decomposição de Funcionario_Habilidade_Idioma em Funcionario_Habilidade(funcionario, habilidade) e Funcionario_Idioma(funcionario, idioma) no resumo anterior — o passo que ali foi feito de forma intuitiva agora tem justificativa formal.

🔗 Generalizando: dependência de junção (JD)

MVD é o caso particular de uma decomposição em duas partes. A dependência de junção, notação *(R1, R2, ..., Rn), generaliza a ideia para n partes: ela vale em R quando toda instância válida de R é igual ao JOIN natural das suas projeções em R1, R2, …, Rn. O exemplo Fornecimento(agente, peca, projeto) do resumo anterior é uma JD ternária (n = 3) — *(Agente_Peca, Peca_Projeto, Agente_Projeto) — que não é implicada por nenhuma MVD isolada: só é reconhecível diretamente como dependência de junção.

🥇🥈 4FN e 5FN, agora com base formal

Com essas definições, 4FN e 5FN ganham enunciado preciso: uma relação está em 4FN quando, para toda MVD não trivial X →→ Y, X é superchave. Uma relação está em 5FN quando toda dependência de junção não trivial nela é implicada pelas chaves candidatas da relação — ou seja, nenhuma decomposição sem perda “escondida” além do que as chaves já garantem.

⚠️ Pegadinhas comuns

  • Toda MVD é uma JD, mas nem toda JD é uma MVD: MVD é o caso particular de JD com apenas duas partes na decomposição; a JD ternária de Fornecimento não corresponde a nenhuma MVD;
  • MVD trivial segue a mesma lógica de FD trivial: Y contido em X, ou X∪Y cobrindo toda a relação — em ambos os casos, não há informação nova;
  • O teorema de decomposição por MVD é uma equivalência (“se e somente se”), mas não garante preservação de dependências funcionais — o mesmo tipo de trade-off já visto na decomposição para BCNF;
  • Não existe “6FN” na teoria clássica de normalização cobrada em concurso — 5FN é o topo da família de Codd e Fagin baseada em dependências (formas normais para bancos temporais ficam fora do escopo mais comum).

🎯 Dica Final para a Prova

O ponto mais cobrado é reconhecer trivial x não trivial numa MVD dada — aplique a mesma lógica de FD trivial (contido ou cobre tudo). Dependência de junção raramente é cobrada em detalhe formal; o que costuma cair é a definição geral (generalização de MVD para n partes) e reconhecer que ela é a base teórica da 5FN.

✓ Com MVD e JD formalizadas, a família clássica de formas normais está completa, do 1FN ao 5FN. Falta um ponto que ficou em aberto desde a decomposição para BCNF: nem toda decomposição sem perda preserva as dependências funcionais originais. É esse trade-off — decomposição sem perda x preservação de dependências — que o próximo resumo da trilha aprofunda.


📍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: Preservação de Dependências e Decomposição Sem Perda


📘 MVD generaliza para JD, e JD é a régua mais geral para saber se uma decomposição em várias tabelas reconstrói exatamente os dados originais. Continue estudando!

Gostou deste conteúdo?

Favoritar

Comentários

Seja o primeiro a comentar.