Funkčná závislosť v databáze

Funkčné závislosti Pomoc pri vylúčení duplikácie dát

Funkčná závislosť databázy presadzuje súbor obmedzení medzi atribútmi. K tomu dochádza, keď jeden atribút vo vzťahu jednoznačne určuje iný atribút. To môže byť písané A -> B, čo znamená, že "B je funkčne závislá od A." Toto sa tiež nazýva závislosť databázy .

V tomto vzťahu A určuje hodnotu B, zatiaľ čo B závisí od A.

Prečo funkčná závislosť je dôležitá v návrhu databázy

Funkčná závislosť pomáha zaistiť platnosť údajov.Ponúkajte tabuľku Zamestnanci, ktorí uvádzajú charakteristiky vrátane čísla sociálneho zabezpečenia (SSN), meno, dátum narodenia, adresu a podobne.

Atribút SSN určuje hodnotu mena, dátum narodenia, adresu a možno aj iné hodnoty, pretože číslo sociálneho poistenia je jedinečné, zatiaľ čo meno, dátum narodenia alebo adresa nemusia byť. Môžeme to napísať takto:

SSN -> meno, dátum narodenia, adresa

Preto meno, dátum narodenia a adresa sú funkčne závislé od SSN. Reverzné vyhlásenie (meno -> SSN) však nie je pravdivé, pretože viac ako jeden zamestnanec môže mať rovnaké meno, ale nikdy nebude mať rovnaké SSN. Dajte iný, konkrétnejší spôsob, ak poznáme hodnotu atribútu SSN, môžeme nájsť hodnotu mena, dátum narodenia a adresu. Ak však poznáme hodnotu iba atribútu názvu, nemôžeme identifikovať SSN.

Ľavá strana funkčnej závislosti môže obsahovať viac ako jeden atribút. Povedzme, že máme firmu s viacerými miestami. Môžeme mať zamestnancov stola s atribútmi zamestnanec, titul, oddelenie, miesto a manažér.

Zamestnanec určuje miesto, kde pracuje, takže existuje závislosť:

zamestnanec -> miesto

Miesto však môže mať viac ako jedného manažéra, takže zamestnanec a oddelenie spoločne určia manažéra:

zamestnanec, oddelenie -> manažér

Funkčná závislosť a normalizácia

Funkčná závislosť prispieva k tomu, čo sa nazýva normalizácia databázy, ktorá zabezpečuje integritu údajov a znižuje prepúšťanie údajov. Bez normalizácie neexistuje istota, že údaje v databáze sú presné a spoľahlivé.