Relációs adatbázisban egy függőség akkor jelenik meg, ha az ugyanabban az adatbázis-táblában tárolt információ egyedileg meghatározza az ugyanabban a táblázatban tárolt egyéb információkat. Egy többértékű függőség akkor jelentkezik, 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. Tegyük fel másik módon, hogy két attribútum (vagy oszlop) egy táblázatban egymástól független, de mindkettő egy harmadik attribútumtól függ.
A többértékű függőség megakadályozza a normalizációs szabvány negyedik normál formáját (4NF). A relációs adatbázisok öt normális formát követnek, amelyek a rekord tervezésére vonatkozó iránymutatásokat tartalmaznak. Megakadályozzák az adatok frissítési rendellenességeit és inkonzisztenciáit. A negyedik normál forma egy-egy kapcsolatot érint az adatbázisban.
Függõségi függõség vagy többértékû függõség
A többértékű függőség megértése érdekében célszerű újra megvizsgálni, hogy mi a funkcionális függőség.
Ha egy X attribútum egyedileg meghatározza az Y attribútumot, akkor Y függvényében X függvénye. Ez X-> Y-ként van írva. Például az alábbi Hallgatói táblában a Student_Name határozza meg az őrnagyot:
Tanuló név | Jelentősebb |
---|---|
Ravi | Művészettörténet |
Beth | Kémia |
Ez a funkcionális függőség írható: Student_Name -> Major . Minden Student_Name pontosan egy Major-t határoz meg, és nem többet. Ha azt szeretné, hogy az adatbázis nyomon kövesse azokat a sportokat, amelyeket ezek a diákok vesznek, gondolja azt, hogy a legegyszerűbb módja ennek, hogy csak egy másik oszlopot adjon hozzá a Sport: A probléma az, hogy mind Ravi, mind Beth több sportot játszik. Minden további sporthoz új sort kell adni. Ez a táblázat többértékű függést vezetett be, mivel a fő és a sport függetlenek egymástól, de mindkettő a hallgatótól függ. Ez egy egyszerű példa és könnyen azonosítható, de a többértékű függőség probléma lehet egy nagy, összetett adatbázisban. Egy többértékû függõséget X -> -> Y ír. Ebben az esetben: Tanuló név ->-> JelentősebbTanuló név->-> Sport
Ezt a "Student_Name multidetermines Major" és a "Student_Name multidetermines Sport" néven értelmezik. A többértékű függőség mindig legalább három attribútumot igényel, mivel legalább két attribútumból áll, amelyek egy harmadiktól függenek. Egy többértékű függőségű táblázat megsérti a negyedik normál űrlap (4NK) normalizálási szabványát, mert szükségtelen elbocsátást eredményez, és hozzájárulhat a következetlen adatokhoz. A 4NF-ig történő feltöltéshez ezt az információt két táblázatra kell bontani. Az alábbi táblázat a Student_Name -> Major függvény funkcionális függõségét mutatja, és nincs többértékû függõség: Míg ez a táblázat a Student_Name -> Sport funkcionalitásától függ: Nyilvánvaló, hogy a normalizációt gyakran a bonyolult táblázatok egyszerűsítésével oldják meg, hogy azok egyetlen ötlettel vagy témával kapcsolatos információkat tartalmazzanak, és ne próbáljanak egyetlen táblázatot létrehozni túl sok különböző információval.Tanuló név Jelentősebb Sport Ravi Művészettörténet Futball Ravi Művészettörténet Röplabda Ravi Művészettörténet Tenisz Beth Kémia Tenisz Beth Kémia Futball Többértékű függőség és normalizáció
Tanuló név Jelentősebb Ravi Művészettörténet Ravi Művészettörténet Ravi Művészettörténet Beth Kémia Beth Kémia Tanuló név Sport Ravi Futball Ravi Röplabda Ravi Tenisz Beth Tenisz Beth Futball