Skip to main content

Többértékű függőség az adatbázisokban

Anonim

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évJelentősebb
RaviMűvészettörténet
BethKé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évJelentősebbSport
RaviMűvészettörténetFutball
RaviMűvészettörténetRöplabda
RaviMűvészettörténetTenisz
BethKémiaTenisz
BethKémiaFutball

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.

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évJelentősebb
RaviMűvészettörténet
RaviMűvészettörténet
RaviMűvészettörténet
BethKémia
BethKémia

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

Diákok és sport
Tanuló névSport
RaviFutball
RaviRöplabda
RaviTenisz
BethTenisz
BethFutball

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.