Skip to main content

Adatbázis-függőség értelmezésének útmutatója

Melyek az elsődleges élelmeid? (Lehet 2024)

Melyek az elsődleges élelmeid? (Lehet 2024)
Anonim

A függőség egy korlátozás, amely az attribútumok közötti kapcsolatra vonatkozik, vagy meghatározza. Ez akkor fordul elő az 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.

Az adatbázis függőségek gyakran összekeverik mind a hallgatókat, mind az adatbázis-szakembereket. Szerencsére nem olyan bonyolult, mint amilyennek látszanak. Leginkább néhány példával magyarázható. Itt megvizsgáljuk a közös adatbázis-függőségi típusokat.

Adatbázis függvények és funkcionális függőség

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 egy adatbázisban olyan függőség van, hogy a B attribútum az A attribútumtól függ, ezt a következőképpen írhatja:

A -> B

Például egy olyan táblázatban, amely felsorolja a munkavállalói jellemzőket, beleértve a társadalombiztosítási számot (SSN) és a névnevet, azt mondhatjuk, hogy ez a név az SSN (vagy az SSN -> név) függvénye, mivel egy alkalmazott neve egyedileg meghatározható az SSN-ből. Azonban a fordított utasítás (név -> SSN) nem igaz, mert több alkalmazottnak lehet ugyanaz a neve, de mindig különböző SSN-k vannak.

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 triviális funkcionális függőség, mint {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, mert a nyilatkozat bal oldalán eltávolíthatja az életkorot 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 egy tranzitív 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, ebben a 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égei fontosak ahhoz, hogy megértsék őket, mivel az adatbázis-normalizálásban használt alapvető építőelemeket szolgáltatják, az adatok adatbázisban történő hatékony megszervezésének folyamatát. Például:

  • Ahhoz, hogy egy tábla második normál formában (2NF) legyen, a táblázatban nem lehet egy olyan nonprime attribútum, amely funkcionálisan egy jelölt kulcs részhalmazától függ.
  • Ahhoz, hogy egy tábla harmadik normál formában legyen (3NF), minden nemprime attribútumnak nem-átviteli funkcionális függőséget kell tartalmaznia minden jelölt kulcstól.
  • Ahhoz, hogy a tábla a Boyce-Codd normál űrlap (BCNF) legyen, minden funkcionális függőség (kivéve a triviális függőségeket) egy szuper kulcson kell lennie.
  • Ahhoz, hogy a tábla a negyedik normál formában (4NF) legyen, nem kell többértékű függőségekkel rendelkeznie.