Skip to content

Functionele afhankelijkheid in een database

20 de juni de 2021
CA13920 56a227c03df78cf77272a945 fa23bc6a02154eb99c20ff55168524ee

Een functionele afhankelijkheid in een database dwingt een reeks beperkingen tussen attributen af. Dit gebeurt wanneer een attribuut in een relatie op unieke wijze een ander attribuut bepaalt. Dit kan worden geschreven A -> B wat betekent “B is functioneel afhankelijk van A.” Dit wordt ook wel een database-afhankelijkheid genoemd. In deze relatie bepaalt A de waarde van B, terwijl B afhankelijk is van A.

Waarom functionele afhankelijkheid belangrijk is bij het ontwerpen van databases

Functionele afhankelijkheid helpt de validiteit van gegevens te waarborgen. Overweeg een tabel Werknemers met kenmerken als Burgerservicenummer (BSN), naam, geboortedatum, adres enzovoort. Het attribuut BSN bepaalt de waarde van naam, geboortedatum, adres en wellicht andere waarden, omdat een BSN uniek is, terwijl een naam, geboortedatum of adres dat niet hoeft te zijn. We kunnen het zo schrijven: BSN -> naam, geboortedatum, adres

type=”code”> Naam, geboortedatum en adres zijn dus functioneel afhankelijk van BSN. De omgekeerde verklaring (naam -> BSN) is echter niet waar omdat meer dan één werknemer dezelfde naam kan hebben, maar nooit hetzelfde BSN zal hebben. Anders gezegd, meer concreet, als we de waarde van het SSN-attribuut kennen, kunnen we de waarde van naam, geboortedatum en adres vinden. Maar als we in plaats daarvan alleen de waarde van het attribuut name kennen, kunnen we het SSN niet identificeren. De linkerkant van een functionele afhankelijkheid kan meer dan één attribuut bevatten. Laten we zeggen dat we een bedrijf hebben met meerdere vestigingen. We hebben misschien een tabel Medewerker met attributen werknemer, titel, afdeling, locatie en manager. De medewerker bepaalt de locatie waar hij werkt, dus er is een afhankelijkheid: medewerker -> locatie

type=”code”> Maar de locatie kan meer dan één manager hebben, dus medewerker en afdeling bepalen samen de manager: medewerker, afdeling -> manager

type=”code”>

Functionele afhankelijkheid en normalisatie

Functionele afhankelijkheid draagt ​​bij aan wat databasenormalisatie wordt genoemd, wat de gegevensintegriteit waarborgt en gegevensredundanties vermindert. Zonder normalisatie is er geen garantie dat de gegevens in een database nauwkeurig en betrouwbaar zijn.