Dependências Funcionais (DP)

Considerando a relação:

  • R(A1, A2, ... , An);

  • Subconjunto de atributos X,Y ⊆ R;

Dependência Funcional: X→Y

  • tuplos: t1, t2 ∈ R ;

  • t1[X] = t2[X] ⇒ t1[Y] = t2[Y]

Formalismo de análise de esquemas relacionais.

  • Permite descrever restrições dos atributos que os tuplos devem respeitar em todo o momento (invariantes).

  • Permite detectar e descrever problemas com precisão.

X→Y ... por outras palavras:

  • Y é funcionalmente dependente de X.

  • Os valores da componente X do tuplo define de forma única a componente Y do respectivo tuplo.

Uma DP é uma propriedade do esquema de relação R que não pode ser inferido de uma qualquer instância de R, i.e. r(R).

  • Deve ser definida por alguém que conhece a semântica dos atributos da relação.

Pela semântica dos atributos da relação EMP_PROJ podemos inferir as seguintes DF:

  • Ssn → Ename;

  • Pnumber → {Pname, Plocation};

  • {Ssn, Pnumber} → Hours.

O Ssn determina de forma única o nome do funcionários.

O número do projeto determina de forma única o seu nome e localização.

O Ssn e o número do projeto determinam de forma única o número de horas que um funcionário trabalha para o projeto.

Tipos

Dependência Parcial

Atributo depende de parte dos atributos que compõem a chave da relação.

Dependência Total

Atributo depende de toda a chave da relação.

Dependência Transitiva

Atributo que não faz parte da chave da relação depende de um atributo que também não faz parte da chave da relação.

Last updated