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 de Y.
A dependência funcional em um banco de dados serve como uma restrição entre dois conjuntos de atributos. Definir a dependência funcional é uma parte importante do design do banco de dados relacional e contribui para a normalização do aspecto.
Definirtec explica a 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 é funcionalmente dependente 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, os conjuntos funcionalmente dependentes são irredutíveis se:
- O conjunto direito 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
- A redução de qualquer dependência funcional existente pode alterar o conteúdo do conjunto
Uma propriedade importante de uma dependência funcional é o axioma de Armstrong, que é 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 satisfeitas:
- Axioma de Transividade: Se X-> Y e Y-> Z, então X-> Z
- Axioma de reflexividade (propriedade de subconjunto): Se Y for um subconjunto de X, então X-> Y
- Axioma de Aumento: Se X-> Y, então XZ-> YZ