Obsah:
Definice - Co znamená funkční závislost?
Funkční závislost je vztah, který existuje, když jeden atribut jednoznačně určuje jiný atribut.
Jestliže R je vztah s atributy X a Y, funkční závislost mezi atributy je představována jako X-> Y, která specifikuje, že Y je funkčně závislá na X. Zde X je sada determinantů a Y je závislý atribut. Každá hodnota X je spojena s přesně jednou hodnotou Y.
Funkční závislost v databázi slouží jako omezení mezi dvěma sadami atributů. Definování funkční závislosti je důležitou součástí návrhu relační databáze a přispívá k normalizaci aspektů.
Techopedia vysvětluje funkční závislost
Funkční závislost je triviální, pokud Y je podmnožinou X. V tabulce s atributy jména zaměstnance a čísla sociálního zabezpečení (SSN) je jméno zaměstnance funkčně závislé na SSN, protože SSN je jedinečná pro jednotlivá jména. SSN identifikuje zaměstnance konkrétně, ale jméno zaměstnance nemůže rozlišovat SSN, protože více než jeden zaměstnanec by mohl mít stejné jméno.
Funkční závislost definuje normální formu Boyce-Codd a třetí normální formu. Tím je zachována závislost mezi atributy, což eliminuje opakování informací. Funkční závislost souvisí s klíčem kandidáta, který jedinečně identifikuje n-tici a určuje hodnotu všech ostatních atributů ve vztahu. V některých případech jsou funkčně závislé sady nevratné, pokud:
- Pravá sada funkční závislosti obsahuje pouze jeden atribut
- Levou sadu funkční závislosti nelze zmenšit, protože to může změnit celý obsah sady
- Snížení jakékoli existující funkční závislosti může změnit obsah sady
Důležitou vlastností funkční závislosti je Armstrongův axiom, který se používá při normalizaci databáze. Ve vztahu, R, se třemi atributy (X, Y, Z) platí Armstrongův axiom, pokud jsou splněny následující podmínky:
- Axiom transivity: Pokud X-> Y a Y-> Z, pak X-> Z
- Axiom reflexivity (vlastnost podmnožiny): Pokud Y je podmnožina X, pak X-> Y
- Axiom augmentace: Pokud X-> Y, pak XZ-> YZ
