Índice:
Definição - O que significa Dependência Funcional?
Dependência funcional é um relacionamento que existe quando um atributo determina exclusivamente outro atributo.
Se R é uma relação com os atributos X e Y, uma dependência funcional entre os atributos é representada como X-> Y, que especifica que Y é funcionalmente dependente de X. Aqui X é um conjunto determinante e Y é um atributo dependente. Cada valor de X está associado precisamente a um valor Y.
A dependência funcional em um banco de dados serve como uma restrição entre dois conjuntos de atributos. Definir dependência funcional é uma parte importante do design do banco de dados relacional e contribui para a normalização de aspectos.
Techopedia explica Dependência Funcional
Uma dependência funcional é trivial se Y for um subconjunto de X. Em uma tabela com os atributos de nome do funcionário e número do Seguro Social (SSN), o nome do funcionário depende funcionalmente do SSN porque o SSN é exclusivo para nomes individuais. Um SSN identifica o funcionário especificamente, mas o nome de um funcionário não pode distinguir o SSN porque mais de um funcionário pode ter o mesmo nome.
A dependência funcional define a forma normal de Boyce-Codd e a terceira forma normal. Isso preserva a dependência entre os atributos, eliminando a repetição de informações. A dependência funcional está relacionada a uma chave candidata, que identifica exclusivamente uma tupla e determina o valor de todos os outros atributos na relação. Em alguns casos, conjuntos funcionalmente dependentes são irredutíveis se:
- O conjunto à direita de dependência funcional contém apenas um atributo
- O conjunto esquerdo de dependência funcional não pode ser reduzido, pois isso pode alterar todo o conteúdo do conjunto.
- Reduzir qualquer dependência funcional existente pode alterar o conteúdo do conjunto
Uma propriedade importante de uma dependência funcional é o axioma de Armstrong, usado na normalização do banco de dados. Em uma relação, R, com três atributos (X, Y, Z), o axioma de Armstrong é verdadeiro se as seguintes condições forem atendidas:
- Axioma da Transividade: Se X-> Y e Y-> Z, então X-> Z
- Axioma da reflexividade (propriedade do subconjunto): se Y é um subconjunto de X, então X-> Y
- Axioma de aumento: Se X-> Y, então XZ-> YZ