Funkční závislost v databázi

Funkční závislosti Vyhněte se duplikaci dat

Funkční závislost v databázi vynucuje množinu omezení mezi atributy. K tomu dochází, když jeden atribut ve vztahu jednoznačně určuje jiný atribut. To může být napsáno A -> B, což znamená "B je funkčně závislá na A." To se také nazývá závislost na databázi .

V tomto vztahu A určuje hodnotu B, zatímco B závisí na A.

Proč je funkční závislost důležitá v návrhu databáze

Funkční závislost pomáhá zajistit platnost dat. Zvažte tabulku Zaměstnanci, kteří uvádějí charakteristiky včetně čísla sociálního pojištění (SSN), jméno, datum narození, adresa a podobně.

Atribut SSN určuje hodnotu jména, data narození, adresu a možná i další hodnoty, protože číslo sociálního zabezpečení je jedinečné, zatímco jméno, datum narození nebo adresa nemusí být. Můžeme to napsat takto:

SSN -> jméno, datum narození, adresa

Proto jméno, datum narození a adresa jsou funkčně závislé na SSN. Reverzní příkaz (název -> SSN) však není pravdivý, protože více než jeden zaměstnanec může mít stejný název, ale nikdy nebude mít stejné SSN. Jiný, konkrétnějším způsobem, pokud známe hodnotu atributu SSN, můžeme najít hodnotu jména, datum narození a adresu. Pokud však známe hodnotu pouze atributu názvu, nemůžeme SSN identifikovat.

Levá strana funkční závislosti může obsahovat více než jeden atribut. Řekněme, že máme firmu s více lokalitami. Mohli bychom mít tabulku Employee s atributy zaměstnanec, název, oddělení, umístění a manažer.

Zaměstnanec určuje umístění, které pracuje, takže existuje závislost:

zaměstnance -> umístění

Místo může mít více než jednoho správce, takže zaměstnanec a oddělení společně určují správce:

zaměstnance, oddělení -> manažer

Funkční závislost a normalizace

Funkční závislost přispívá k tomu, co se nazývá normalizace databáze, která zajišťuje integritu dat a snižuje propouštění dat. Bez normalizace neexistuje jistota, že data v databázi jsou přesná a spolehlivá.