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

Tartalomjegyzék:

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

A relációs adatbázisban függőség lép fel, ha az ugyanabban az adatbázistáblában tárolt információ egyedileg meghatároz más, ugyanabban a táblában tárolt információkat. Többértékű függőségről akkor beszélünk, ha egy vagy több sor jelenléte egy táblázatban egy vagy több másik sor jelenlétét is magában foglalja ugyanabban a táblában. Másképpen fogalmazva, egy táblázat két attribútuma (vagy oszlopa) független egymástól, de mindkettő egy harmadik attribútumtól függ.

Image
Image

A többértékű függőség megakadályozza a normalizálási szabvány negyedik normálformáját. A relációs adatbázisok öt normál formát követnek, amelyek a rekordtervezés iránymutatásait képviselik. Megakadályozzák a frissítési anomáliákat és az adatok inkonzisztenciáit. A negyedik normál forma az adatbázisban lévő több az egyhez kapcsolatokkal foglalkozik.

Funkcionális függőség kontra többértékű függőség

A többértékű függőségek megértéséhez hasznos újra átgondolni, mi is az a funkcionális függőség.

Ha egy X attribútum egyedileg határoz meg egy Y attribútumot, akkor Y funkcionálisan függ X-től. Ez X -> Y-ként van írva. Például az alábbi Diákok táblázatban a Student_Name határozza meg a szakot:

Student_Name Major
Ravi Művészettörténet
Beth Kémia

Ez a funkcionális függőség a következőképpen írható fel: Student_Name -> Major. Minden Student_Name pontosan egy szakot határoz meg, és nem többet.

Ha azt szeretné, hogy az adatbázis azt is nyomon kövesse, hogy ezek a diákok milyen sportokat űznek, akkor azt gondolhatja, hogy ennek legegyszerűbb módja, ha hozzáad egy másik oszlopot Sport címmel:

Student_Name Major Sport
Ravi Művészettörténet Foci
Ravi Művészettörténet Röplabda
Ravi Művészettörténet Tenisz
Beth Kémia Tenisz
Beth Kémia Foci

A probléma az, hogy Ravi és Beth is többféle sportot űz. Minden további sporthoz új sort kell hozzáadni.

Ez a táblázat többértékű függőséget vezetett be, mivel a szak és a sport független 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émát jelenthet egy nagy, összetett adatbázisban.

Egy többértékű függőséget írunk X ->-> Y. Ebben az esetben:

Diák_neve ->-> Jor

Hallgató_neve34 -2-6-434 > Sport

Ez a következőképpen jelenik meg: "A diák_neve több szempontból is meghatározza a szakot" és a "Student_Name többszörösen meghatározza a sportot".

A többértékű függőséghez mindig legalább három attribútum szükséges, mert legalább két olyan attribútumból áll, amelyek egy harmadiktól függenek.

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

A többértékű függőséggel rendelkező tábla sérti a negyedik normálforma normalizálási szabványát, mert szükségtelen redundanciákat hoz létre, és inkonzisztens adatokhoz vezethet. Ahhoz, hogy ezt 4NF-re emeljük, ezt az információt két táblázatra kell bontani.

Az alábbi táblázatban a Student_Name -> Major funkcionális függősége van, és nincsenek többértékű függőségek:

Student_Name Major
Ravi Művészettörténet
Ravi Művészettörténet
Ravi Művészettörténet
Beth Kémia
Beth Kémia

Bár ennek a táblázatnak a Student_Name egyetlen funkcionális függősége is van -> Sport:

Student_Name Sport
Ravi Foci
Ravi Röplabda
Ravi Tenisz
Beth Tenisz
Beth Foci

A normalizálást gyakran úgy hajtják végre, hogy leegyszerűsítik az összetett táblázatokat, így azok egyetlen ötlethez vagy témához kapcsolódó információkat tartalmaznak, ahelyett, hogy egyetlen táblázatot túl sok különböző információt tartalmaznának.

Ajánlott: