Ett funktionellt beroende i en databas tvingar en uppsättning begränsningar mellan attribut. Detta inträffar när ett attribut i ett förhållande unikt bestämmer ett annat attribut. Detta kan skrivas A -> B vilket betyder "B är funktionellt beroende av A." Detta kallas också ett databasberoende.
I detta förhållande bestämmer A värdet av B, medan B beror på A.
Varför funktionell beroende är viktigt i databasdesign
Funktionsberoende bidrar till att säkerställa datas giltighet. Titta på ett bord Anställda som listar egenskaper, inklusive SSN, namn, födelsedatum, adress och så vidare.
Attributet SSN bestämmer värdet av namn, födelsedatum, adress och eventuellt andra värden, eftersom ett personnummer är unikt, medan ett namn, födelsedatum eller adress kanske inte är. Vi kan skriva det så här:
SSN -> namn, födelsedatum, adress
Därför är namn, födelsedatum och adress funktionellt beroende av SSN. Det omvända uttalandet (namn -> SSN) är emellertid inte sant eftersom mer än en anställd kan ha samma namn men kommer aldrig att ha samma SSN. Sätt ett annat, mer konkret sätt, om vi vet värdet av SSN-attributet, kan vi hitta värdet av namn, födelsedatum och adress. Men om vi istället känner till värdet av endast namnet attributet, kan vi inte identifiera SSN.
Den vänstra sidan av ett funktionellt beroende kan innehålla mer än ett attribut. Låt oss säga att vi har ett företag med flera platser. Vi kan ha en tabell Medarbetare med attribut anställd, titel, avdelning, plats och chef.
Medarbetaren bestämmer den plats han arbetar, så det finns ett beroende:
anställd -> plats
Men platsen kan ha mer än en chef, så anställd och avdelning bestämmer tillsammans chefen:
anställd, avdelning -> chef
Funktionell beroende och normalisering
Funktionellt beroende bidrar till det som kallas databas normalisering, vilket säkerställer dataintegritet och reducerar dataöverskridanden. Utan normalisering finns det ingen garanti för att uppgifterna i en databas är korrekta och pålitliga.




