Dependências Funcionais (DP)
Last updated
Last updated
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.
Atributo depende de parte dos atributos que compõem a chave da relação.
Atributo depende de toda a chave da relação.
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.