Co je funkční závislost?
Funkční závislost (FD) je omezení, které určuje vztah jednoho atributu k jinému atributu v systému správy databází (DBMS). Funkční závislost pomáhá udržovat kvalitu dat v databázi. Hraje zásadní roli při hledání rozdílu mezi dobrým a špatným návrhem databáze.
Funkční závislost je označena šipkou „→“. Funkční závislost X na Y je reprezentována X → Y. Pojďme si na příkladu pochopit funkční závislost v DBMS.
Příklad:
Číslo zaměstnance | jméno zaměstnance | Plat | Město |
1 | Dana | 50 000 | San Francisco |
2 | Francis | 38000 | Londýn |
3 | Andrew | 25 000 | Tokio |
V tomto příkladu, pokud známe hodnotu čísla zaměstnance, můžeme získat jméno zaměstnance, město, plat atd. Tím můžeme říci, že město, jméno zaměstnance a plat jsou funkčně závislé na čísle zaměstnance.
V tomto výukovém programu se naučíte:
- Klíčové výrazy
- Pravidla funkčních závislostí
- Typy funkčních závislostí v DBMS
- Vícehodnotová závislost v DBMS
- Triviální funkční závislost v DBMS
- Netriviální funkční závislost v DBMS
- Přechodná závislost v DBMS
- Co je normalizace?
- Výhody funkční závislosti
Klíčové výrazy
Zde jsou některé klíčové pojmy pro funkční závislost v databázi:
Klíčové výrazy | Popis |
Axiom | Axioms je sada odvozovacích pravidel používaných k odvození všech funkčních závislostí na relační databázi. |
Rozklad | Je to pravidlo, které naznačuje, že pokud máte tabulku, která obsahuje dvě entity, které jsou určeny stejným primárním klíčem, měli byste zvážit jejich rozdělení do dvou různých tabulek. |
Závislé | Je zobrazen na pravé straně diagramu funkční závislosti. |
Rozhodující | Je zobrazen na levé straně diagramu funkční závislosti. |
unie | Navrhuje, že pokud jsou dvě tabulky oddělené a PK je stejná, měli byste zvážit jejich umístění. spolu |
Pravidla funkčních závislostí
Níže jsou uvedena tři nejdůležitější pravidla pro funkční závislost v databázi:
- Reflexní pravidlo -. Pokud X je sada atributů a Y je_subset_of X, pak X má hodnotu Y.
- Pravidlo augmentace: Když x -> y platí a c je nastaven atribut, pak platí také ac -> bc. To je přidávání atributů, které nemění základní závislosti.
- Pravidlo přechodnosti: Toto pravidlo je velmi podobné přechodnému pravidlu v algebře, pokud platí x -> y a y -> z platí, pak platí také x -> z. X -> y se nazývá jako funkčně určující y.
Typy funkčních závislostí v DBMS
V DBMS existují hlavně čtyři typy funkční závislosti. Následují typy funkčních závislostí v DBMS:
- Závislost s více hodnotami
- Triviální funkční závislost
- Netriviální funkční závislost
- Přechodná závislost
Vícehodnotová závislost v DBMS
Závislost s více hodnotami nastává v situaci, kdy v jedné tabulce existuje více nezávislých atributů s více hodnotami. Závislost s více hodnotami je úplné omezení mezi dvěma sadami atributů ve vztahu. Vyžaduje, aby byly ve vztahu přítomny určité n-tice. Pro pochopení zvažte následující příklad závislostí s více hodnotami.
Příklad:
Model auta | Maf_rok | Barva |
H001 | 2017 | Kovový |
H001 | 2017 | Zelený |
H005 | 2018 | Kovový |
H005 | 2018 | Modrý |
H010 | 2015 | Kovový |
H033 | 2012 | Šedá |
V tomto příkladu jsou maf_year a color nezávislé na sobě, ale závisí na car_model. V tomto příkladu se o těchto dvou sloupcích říká, že jsou více hodnot závislé na car_model.
Tuto závislost lze vyjádřit takto:
car_model -> maf_year
car_model-> color
Triviální funkční závislost v DBMS
Triviální závislost je sada atributů, které se nazývají triviální, pokud je v tomto atributu zahrnuta sada atributů.
Takže X -> Y je triviální funkční závislost, pokud Y je podmnožinou X. Pojďme to pochopit pomocí Trivial Functional Dependency Example.
Například:
Emp_id | Emp_name |
AS555 | Harry |
AS811 | Jiří |
AS999 | Kevine |
Zvažte tuto tabulku se dvěma sloupci Emp_id a Emp_name.
{Emp_id, Emp_name} -> Emp_id je triviální funkční závislost, protože Emp_id je podmnožinou {Emp_id, Emp_name}.
Netriviální funkční závislost v DBMS
Funkční závislost, která se také označuje jako netriviální závislost, nastane, když platí A-> B, kde B není podmnožinou A. Ve vztahu, pokud atribut B není podmnožinou atributu A, pak je považován za netriviální závislost.
Společnost | výkonný ředitel | Stáří |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Jablko | Tim Cook | 57 |
Příklad:
(Společnost} -> {CEO} (pokud známe společnost, známe jméno generálního ředitele)
Generální ředitel však není podmnožinou společnosti, a proto se jedná o netriviální funkční závislost.
Transitivní závislost v DBMS
Transitivní závislost je typ funkční závislosti, ke které dochází, když t je nepřímo tvořeno dvěma funkčními závislostmi. Pojďme to pochopit pomocí následujícího příkladu tranzitivní závislosti.
Příklad:
Společnost | výkonný ředitel | Stáří |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Alibaba | Jack Ma | 54 |
{Company} -> {CEO} (pokud známe společnost, známe jméno jejího generálního ředitele)
{CEO} -> {Age} Pokud známe generálního ředitele, známe věk
Proto podle pravidla pravidla přechodné závislosti:
{Company} -> {Age} by měl platit, to dává smysl, protože pokud známe název společnosti, můžeme znát jeho věk.
Poznámka: Musíte si uvědomit, že přechodná závislost může nastat pouze ve vztahu tří nebo více atributů.
Co je normalizace?
Normalizace je metoda organizace dat v databázi, která vám pomůže vyhnout se anomálii redundance dat, vložení, aktualizace a odstranění. Jedná se o proces analýzy relačních schémat na základě jejich různých funkčních závislostí a primárního klíče.
Normalizace je inherentní teorii relační databáze. Může to mít za následek duplikování stejných dat v databázi, což může vést k vytvoření dalších tabulek.
Výhody funkční závislosti
- Funkční závislost zamezuje redundanci dat. Stejná data se proto neopakují na více místech v této databázi
- Pomáhá vám udržovat kvalitu dat v databázi
- Pomůže vám definovat významy a omezení databází
- Pomůže vám identifikovat špatné vzory
- Pomůže vám najít fakta týkající se návrhu databáze
souhrn
- Funkční závislost je, když jeden atribut určuje jiný atribut v systému DBMS.
- Axiom, Decomposition, Dependent, Determinant, Union jsou klíčové pojmy pro funkční závislost
- Čtyři typy funkční závislosti jsou 1) vícehodnotové 2) triviální 3) netriviální 4) přechodné
- Závislost s více hodnotami nastává v situaci, kdy v jedné tabulce existuje více nezávislých atributů s více hodnotami
- Triviální závislost nastane, když je sada atributů, které se nazývají triviální, pokud je v tomto atributu zahrnuta sada atributů
- Netriviální závislost nastane, když platí A-> B, kde B není podmnožinou A
- Transit je typ funkční závislosti, který se stane, když je nepřímo tvořen dvěma funkčními závislostmi
- Normalizace je metoda organizace dat v databázi, která vám pomůže vyhnout se redundanci dat