Functionele afhankelijkheid

Een functionele afhankelijkheid is een bepaald soort constraint in databases, dus voorwaarde op de mogelijke waarden in een tabel van een relationele database. Een verzameling attributen, die staan in de kolommen, van de tabel wordt functioneel afhankelijk genoemd van een tweede verzameling attributen als altijd wanneer twee rijen van een tabel gelijke waarden hebben voor de tweede verzameling attributen, ze ook gelijke waarden hebben voor de eerste verzameling attributen:

De beide verzamelingen attributen worden de gedetermineerde en de determinant van de functionele afhankelijkheid genoemd.

Een verzameling attributen waarvan alle attributen functioneel afhankelijk zijn wordt een kandidaatsleutel van de tabel genoemd.

Functionele afhankelijkheden spelen een grote rol bij databasenormalisatie.

Voorbeelden

Er staan hieronder twee tabellen met de attributen X en Y. In de eerste tabel geldt de functionele afhankelijkheid , in de tweede tabel niet.

X Y Z
a b c
a b d
b a d
c b c


X Y Z
a b c
a c d
a b d
b a c

In de eerste en tweede rij ziet u dat de functionele afhankelijkheid wordt verbroken, doordat de waarde in de kolom Y zowel b en c hebben, terwijl de waarde in kolom X bij beide a is.

Functionele afhankelijkheden komen in databases zeer veel voor. Zo zou bijvoorbeeld voor een telefoongids kunnen gelden: , een plaatsnaam heeft maar een netnummer. Dat betekent niet dat het omgekeerde ook moet gelden: bij één netnummer horen vaak verschillende plaatsnamen.

Axioma's

De volgende axioma's zijn van toepassing op functionele afhankelijkheden. De eerste drie worden ook wel axioma's van Armstrong genoemd:

  • Reflexiviteitsregel – Wanneer een attribuutset is en geldt, dan geldt .
  • Augmentatieregel – Wanneer geldt en is een verzameling attributen, dan geldt .
  • Transiviteitsregel – Wanneer en gelden, dan geldt ook .

De volgende drie axioma's kunnen logisch afgeleid worden uit de axioma's van Armstrong:

  • Verenigingsregel – Wanneer en geleden, dan geldt ook .
  • Decompositieregel – Wanneer geldt, dan gelden ook en .
  • Pseudotransiviteitsregel – Wanneer en gelden, dan geldt ook .

 

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia