Čo sú databázové závislosti?

Závislosti databázy sú témou, ktorá často zamieňa študentov, ako aj profesionálov v oblasti databáz. Našťastie nie sú také komplikované a možno najlepšie ilustrovať pomocou niekoľkých príkladov. V tomto článku skúmame bežné typy závislostí databáz.

Databázové závislosti / funkčné závislosti

Závislosť sa vyskytuje v databáze, keď informácie uložené v rovnakej databázovej tabuľke jednoznačne určujú iné informácie uložené v rovnakej tabuľke. Môžete to tiež opísať ako vzťah, pri ktorom je hodnota jedného atribútu (alebo množiny atribútov) dostatočná, aby ste v tej istej tabuľke uviedli hodnotu iného atribútu (alebo množiny atribútov).

Povedal, že existuje závislosť medzi atribútmi v tabuľke, je to isté ako tvrdenie, že medzi týmito atribútmi existuje funkčná závislosť. Ak existuje závislosť v databáze tak, že atribút B závisí od atribútu A, napíšete to ako "A -> B".

Napríklad v tabuľke, v ktorej sa uvádzajú charakteristiky zamestnancov vrátane SSN a názvu, možno povedať, že názov je závislý od SSN (alebo SSN -> name), pretože meno zamestnanca môže byť jednoznačne určené z ich SSN. Reverzné vyhlásenie (meno -> SSN) však nie je pravda, pretože viac ako jeden zamestnanec môže mať rovnaké meno, ale rôzne SSN.

Triviálne funkčné závislosti

Funkčná závislosť triviálne nastane, keď opíšeme funkčnú závislosť atribútu na kolekcii atribútov, ktoré obsahujú pôvodný atribút. Napríklad "{A, B} -> B" je triviálna funkčná závislosť, rovnako ako "{name, SSN} -> SSN". Tento typ funkčnej závislosti sa nazýva triviálne, pretože môže byť odvodený zo zdravého rozumu. Je zrejmé, že ak už poznáte hodnotu B, potom hodnota B môže byť jednoznačne určená týmito vedomosťami.

Plne funkčné závislosti

Úplná funkčná závislosť nastane, keď už spĺňate požiadavky na funkčnú závislosť a súbor atribútov na ľavej strane príkazu na funkčnú závislosť nemožno ďalej znížiť. Napríklad "{SSN, age} -> name" je funkčná závislosť, ale nie je to úplná funkčná závislosť, pretože môžete odstrániť vek z ľavej strany výkazu bez ovplyvnenia závislosti.

Transitívne závislosti

Transitívne závislosti sa vyskytujú vtedy, keď existuje nepriamy vzťah, ktorý spôsobuje funkčnú závislosť. Napríklad, "A -> C" je tranzitívna závislosť, ak je to pravda len preto, že pravdivé sú aj "A -> B" a "B -> C".

Viachodnotové závislosti

Závislosť s viacerými hodnotami sa vyskytuje, keď prítomnosť jedného alebo viacerých riadkov v tabuľke znamená prítomnosť jedného alebo viacerých ďalších riadkov v tej istej tabuľke. Predstavte si napríklad automobilovú spoločnosť, ktorá vyrába veľa modelov automobilov, ale vždy robí červené a modré farby každého modelu. Ak máte tabuľku, ktorá obsahuje názov modelu, farbu a rok každého automobilu, ktorý spoločnosť vyrába, existuje v tabuľke viacnásobná závislosť . Ak existuje riadok pre určitý názov modelu a rok v modrej farbe, musí existovať aj podobný riadok zodpovedajúci červenej verzii toho istého auta.

Význam závislostí

Závislosti databázy sú dôležité na pochopenie, pretože poskytujú základné stavebné bloky používané v normalizácii databázy . Napríklad: