logo

Functionele afhankelijkheid

De functionele afhankelijkheid is een relatie die bestaat tussen twee attributen. Het bestaat doorgaans tussen de primaire sleutel en het niet-sleutelattribuut in een tabel.

 X → Y 

De linkerkant van FD staat bekend als een determinant, de rechterkant van de productie staat bekend als een afhankelijke.

Bijvoorbeeld:

Stel dat we een werknemerstabel hebben met attributen: Emp_Id, Emp_Name, Emp_Address.

steden in Australië

Hier kan het Emp_Id-attribuut op unieke wijze het Emp_Name-attribuut van de werknemerstabel identificeren, omdat als we de Emp_Id kennen, we kunnen zien welke werknemersnaam eraan is gekoppeld.

Functionele afhankelijkheid kan worden geschreven als:

 Emp_Id → Emp_Name 

We kunnen zeggen dat Emp_Name functioneel afhankelijk is van Emp_Id.

Soorten functionele afhankelijkheid


DBMS functionele afhankelijkheid

1. Triviale functionele afhankelijkheid

  • A → B heeft een triviale functionele afhankelijkheid als B een subset van A is.
  • De volgende afhankelijkheden zijn ook triviaal, zoals: A → A, B → B

Voorbeeld:

 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. Niet-triviale functionele afhankelijkheid

  • A → B heeft een niet-triviale functionele afhankelijkheid als B geen subset van A is.
  • Wanneer A-kruising B NULL is, wordt A → B als volledig niet-triviaal genoemd.

Voorbeeld:

 ID → Name, Name → DOB