Többváltozós függőség az adatbázis tervezésben

A többértékű függőség megszakítja a negyedik rendes formát

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:

diákok
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:

diákok
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


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:

Student_Name -> -> Major
Student_Name -> -> 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.

Többértékű függőség és normalizáció

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:

Diákok és főorvosok
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

Míg ez a táblázat a Student_Name -> Sport funkcionalitásától függ:

Diákok és sport
Tanuló név Sport
Ravi Futball
Ravi Röplabda
Ravi Tenisz
Beth Tenisz
Beth Futball

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.