A függőség egy korlátozás, amely az attribútumok közötti kapcsolatra vonatkozik, vagy meghatározza. Ez akkor fordul elő az adatbázisban, amikor az ugyanabban az adatbázis-táblában tárolt adatok egyedileg meghatározzák az ugyanabban a táblázatban tárolt egyéb információkat. Ezt úgy is leírhatja, mint egy kapcsolatot, ahol egy attribútum (vagy egy attribútumkészlet) értékének ismerete elég ahhoz, hogy egy másik attribútum értékét (vagy attribútumkészletét) ugyanabban a táblázatban adja meg.
Az adatbázis függőségek gyakran összekeverik mind a hallgatókat, mind az adatbázis-szakembereket. Szerencsére nem olyan bonyolult, mint amilyennek látszanak. Leginkább néhány példával magyarázható. Itt megvizsgáljuk a közös adatbázis-függőségi típusokat.
Adatbázis függvények és funkcionális függőség
Annak kijelentése, hogy a táblázatban szereplő attribútumok függősége megegyezik azzal, hogy funkcionális függőség van az említett attribútumok között. Ha egy adatbázisban olyan függőség van, hogy a B attribútum az A attribútumtól függ, ezt a következőképpen írhatja:
A -> B
Például egy olyan táblázatban, amely felsorolja a munkavállalói jellemzőket, beleértve a társadalombiztosítási számot (SSN) és a névnevet, azt mondhatjuk, hogy ez a név az SSN (vagy az SSN -> név) függvénye, mivel egy alkalmazott neve egyedileg meghatározható az SSN-ből. Azonban a fordított utasítás (név -> SSN) nem igaz, mert több alkalmazottnak lehet ugyanaz a neve, de mindig különböző SSN-k vannak. Egy triviális funkcionális függőség akkor jelentkezik, amikor egy attribútum funkcionális függését írja le az attribútumok gyűjteményére, amely tartalmazza az eredeti attribútumot. Például {A, B} -> B triviális funkcionális függőség, mint {name, SSN} -> SSN. Ez a fajta funkcionális függőség triviálisnak nevezhető, mert a józan észből származhat. Nyilvánvaló, hogy ha már ismeri a B értékét, akkor a B értékét egyedileg meghatározhatja az a tudás. Teljes funkcionális függőség akkor jelentkezik, ha már megfelel a funkcionális függőség követelményeinek, és a funkcionális függőségi nyilatkozat bal oldalán található attribútumok halmaza nem csökkenthető tovább. Például az {SSN, age} -> név funkcionális függőség, de nem teljes funkcionális függőség, mert a nyilatkozat bal oldalán eltávolíthatja az életkorot anélkül, hogy befolyásolná a függőségi kapcsolatot. A tranzit függőségek akkor jelentkeznek, ha közvetett kapcsolat van, amely funkcionális függést okoz. Például A -> C egy tranzitív függőség, ha igaz csak azért, mert mind az A-> B, mind a B-> C igaz. Többértékű függőségek akkor jelentkeznek, ha egy táblázatban szereplő egy vagy több sor jelenléte egy vagy több másik sor jelenlétét jelenti ugyanazon a táblázatban. Például képzeljünk el egy olyan autógyártót, amely sok autómodellt gyárt, de mindkét modell vörös és kék színeit mindig teszi. Ha van olyan táblázata, amely tartalmazza a cég által gyártott minden egyes modell modelljének nevét, színét és évét, ebben a táblázatban többértékű függőség van. Ha van egy sor egy bizonyos modellnévhez és évhez kék színnel, akkor ugyanannak a sornak a vörös verziójának megfelelő sorban kell lennie. Az adatbázis függőségei fontosak ahhoz, hogy megértsék őket, mivel az adatbázis-normalizálásban használt alapvető építőelemeket szolgáltatják, az adatok adatbázisban történő hatékony megszervezésének folyamatát. Például: Triviális funkcionális függőség
Teljes funkcionális függőség
Tranzitív függőség
Többértékű függőség
A függőség fontossága