Melyek az adatbázis függvényei?

Az adatbázis függőségei olyan témák, amelyek gyakran összekeverik mind a diákokat, mind az adatbázis-szakembereket. Szerencsére ezek nem olyan bonyolultak, és legjobban illusztrálható számos példa felhasználásával. Ebben a cikkben megvizsgáljuk a közös adatbázis-függőségi típusokat.

Adatbázis függvények / funkcionális függvények

Függőség fordul elő egy 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.

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 létezik olyan függőség az adatbázisban, hogy a B attribútum az A attribútumtól függ, akkor ezt "A -> B" -ként írja.

Például egy olyan táblázatban, amely felsorolja a személyi jellemzőket, köztük a társadalombiztosítási számot (SSN) és a nevet, azt mondhatjuk, hogy ez a név az SSN (vagy az SSN -> név) függvénye, mert a munkavállaló nevét egyedileg lehet meghatározni az SSN-től. Ugyanakkor a fordított utasítás (név -> SSN) nem igaz, mert több alkalmazottnak ugyanaz a neve, de különböző SSN-ei lehetnek.

Triviális funkcionális függőség

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" egy triviális funkcionális függőség, mint a "{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

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, mivel eltávolíthatja az életkorot a nyilatkozat bal oldalán anélkül, hogy befolyásolná a függőségi kapcsolatot.

Tranzitív függőség

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" tranzit 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ég

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, az adott 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.

A függőség fontossága

Az adatbázis függőségek fontosak ahhoz, hogy megértsék őket, mivel az adatbázis-normalizálás során használt alapvető építőelemeket biztosítják. Például: