A dependência funcional é um relacionamento que existe entre dois atributos. Normalmente existe entre a chave primária e o atributo não-chave em uma tabela.
X → Y
O lado esquerdo do FD é conhecido como determinante, o lado direito da produção é conhecido como dependente.
Por exemplo:
Suponha que temos uma tabela de funcionários com atributos: Emp_Id, Emp_Name, Emp_Address.
o que é objeto java
Aqui o atributo Emp_Id pode identificar exclusivamente o atributo Emp_Name da tabela de funcionários porque se conhecermos o Emp_Id, podemos saber o nome do funcionário associado a ele.
A dependência funcional pode ser escrita como:
Emp_Id → Emp_Name
Podemos dizer que Emp_Name é funcionalmente dependente de Emp_Id.
Tipos de dependência funcional
1. Dependência funcional trivial
- A → B tem dependência funcional trivial se B for um subconjunto de A.
- As seguintes dependências também são triviais como: A → A, B → B
Exemplo:
Consider a table with two columns Employee_Id and Employee_Name. {Employee_id, Employee_Name} → Employee_Id is a trivial functional dependency as Employee_Id is a subset of {Employee_Id, Employee_Name}. Also, Employee_Id → Employee_Id and Employee_Name → Employee_Name are trivial dependencies too.
2. Dependência funcional não trivial
- A → B tem uma dependência funcional não trivial se B não for um subconjunto de A.
- Quando uma interseção B é NULA, então A → B é chamada de não trivial completa.
Exemplo:
ID → Name, Name → DOB