La dependència funcional és una relació que existeix entre dos atributs. Normalment existeix entre la clau primària i l'atribut no clau dins d'una taula.
X → Y
El costat esquerre de FD es coneix com a determinant, el costat dret de la producció es coneix com a dependent.
Per exemple:
Suposem que tenim una taula d'empleats amb atributs: Emp_Id, Emp_Name, Emp_Address.
Expressions java lambda
Aquí l'atribut Emp_Id pot identificar de manera única l'atribut Emp_Name de la taula de l'empleat perquè si coneixem l'Emp_Id, podem dir-hi el nom de l'empleat associat.
La dependència funcional es pot escriure com:
Emp_Id → Emp_Name
Podem dir que Emp_Name depèn funcionalment de Emp_Id.
Tipus de dependència funcional
1. Dependència funcional trivial
- A → B té una dependència funcional trivial si B és un subconjunt de A.
- Les dependències següents també són trivials com: A → A, B → B
Exemple:
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 no trivial
- A → B té una dependència funcional no trivial si B no és un subconjunt de A.
- Quan A la intersecció B és NULL, llavors A → B s'anomena com a no trivial complet.
Exemple:
ID → Name, Name → DOB