A funkcionális függőség egy bináris kapcsolat egy adott kapcsolat attribútumkészletei között , és valójában egy a többhez kapcsolat. Használata annak a ténynek köszönhető, hogy lehetővé teszi számos probléma formális és szigorú megoldását.
A funkcionális függőség olyan fogalom, amely számos, a relációs adatbázisokkal kapcsolatos kérdés hátterében áll , beleértve különösen a tervezésüket.
Legyen egy reláció adott sémával (fejléc) , és legyen a reláció attribútumkészletének néhány részhalmaza . Egy halmaz funkcionálisan attól függ , hogy a halmaz minden értéke pontosan a halmaz egy értékéhez van-e társítva . Kijelölve .
Más szóval, ha két sor azonos értékkel rendelkezik -ben , akkor azonos értéke van -ben .
Ebben az esetben a determináns a függő rész.
A funkcionális függőséget triviálisnak mondjuk, ha a függő rész a determináns részhalmaza.
Egyes funkcionális függőségek más funkcionális függőségekre is utalhatnak. Például funkcionális függőség,
.Az összes funkcionális függőség halmazát, amelyet a funkcionális függőségek adott halmaza tartalmaz , a halmaz lezárásának nevezzük .
Legyen a reláció attribútumainak valamilyen halmaza , és legyen ennek a relációnak a funkcionális függőségeinek halmaza. Az attribútumhalmaz határokon belüli zárása a reláció összes attribútumának olyan halmaza, hogy a funkcionális függőség a zárás tagja .
Legyen és legyen néhány funkcionális függőségi halmaz.
1974-ben William Armstrong egy olyan szabályrendszert javasolt, amellyel az adatokból új funkcionális függőségekre lehet következtetni.
Tegyük fel, hogy van egy relációnk és egy attribútumkészletünk . A rekord lerövidítéséhez egyszerűen ezt fogjuk írni .
Armstrong következtetési szabályai teljesek (felhasználásukból származtathatóak az adott halmaz összes többi funkcionális függősége) és megbízhatóak ("felesleges" funkcionális függőségek nem vezethetők le: a származtatott funkcionális függőség mindenhol érvényes, ahol az eredeti funkcionális függőségek (ahonnan származott származtatott) érvényesek).
Ezenkívül számos további szabály egész egyszerűen levezethető ezekből a szabályokból, amelyek leegyszerűsítik a funkcionális függőségek levezetésének feladatát.
Tétel: A funkcionális függőségek adott halmazából az Armstrong-féle következtetési szabályok szerint akkor és csak akkor következtetünk funkcionális függőséget .
Ha az előző szakasz szabályait addig alkalmazzuk, amíg az új funkcionális függőségek létrehozása magától meg nem áll, akkor egy adott funkcionális függőségi halmazra egy lezárást kapunk. A gyakorlatban ritkán szükséges önmagában kiszámítani ezt a zárást, leggyakrabban sokkal inkább az érdekel minket, hogy ez vagy az a funkcionális függőség benne lesz-e a zárásban. Ehhez elég kiszámolnunk a determináns zárását. Erre van egy meglehetősen egyszerű algoritmus.
A funkcionális függőségek integritási megkötések, és meghatározzák az adatbázisban tárolt adatok szemantikáját. A DBMS -nek minden frissítéskor ellenőriznie kell a megfelelőséget. Ezért a nagyszámú funkcionális függőség jelenléte nem kívánatos, ellenkező esetben lelassítja a munkát. A feladat egyszerűsítése érdekében szükséges a funkcionális függőségek halmazát a minimálisra csökkenteni.
Az If a funkcionális függőségek kezdeti halmazának redukálhatatlan fedője , akkor a funkcionális függőségek teljesülésének ellenőrzése -ból automatikusan garantálja az összes funkcionális függőség teljesülését -ból . Így a minimálisan szükséges halmaz megtalálásának feladata a funkcionális függőségek halmazának egy irreducibilis fedőjének megtalálására redukálódik, amelyet az eredeti halmaz helyett használunk.