Funkční závislost v DBMS: Co je, typy a příklady
Co je to 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. Podívejme se na Funkční závislost v DBMS na příkladu.
Příklad:
Číslo zaměstnance | jméno zaměstnance | Výplata | Město |
---|---|---|---|
1 | dana | 50000 | San Francisco |
2 | Francis | 38000 | London |
3 | Andrew | 25000 | Tokio |
V tomto příkladu, pokud známe hodnotu Číslo 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.
Klíčové výrazy
Zde jsou některé klíčové pojmy pro funkční závislost v databázi:
Klíčové výrazy | Description |
---|---|
Axiom | Axiomy 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é navrhuje, pokud máte tabulku, která se zdá obsahovat 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á strana diagramu funkčních závislostí. |
determinant | Zobrazuje se na levé straně diagramu funkčních závislostí. |
svaz | To naznačuje, ž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:
- Reflexivní pravidlo –. Pokud X je množina atributů a Y je_podmnožina_X, pak X má hodnotu Y.
- Augmentační pravidlo: Když platí x -> y a c je nastaven atribut, pak platí také ac -> bc. To je přidání atributů, které nemění základní závislosti.
- Pravidlo tranzitivity: Toto pravidlo je velmi podobné tranzitivnímu pravidlu v algebře, pokud platí x -> y a platí y -> z, pak platí také x -> z. X -> y se nazývá jako funkčně, které určuje y.
Typy funkčních závislostí v DBMS
V DBMS existují hlavně čtyři typy funkčních závislostí. Níže jsou uvedeny typy funkčních závislostí v DBMS:
- Vícehodnotová závislost
- Triviální funkční závislost
- Netriviální funkční závislost
- Tranzitivní závislost
Vícehodnotová závislost v DBMS
K vícehodnotové závislosti dochází v situaci, kdy je v jedné tabulce více nezávislých vícehodnotových atributů. Vícehodnotová závislost je úplné omezení mezi dvěma sadami atributů ve vztahu. Vyžaduje, aby ve vztahu byly přítomny určité n-tice. Pro pochopení zvažte následující příklad vícehodnotové závislosti.
Příklad:
Model auta | Maf_year | 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 modelu auta. V tomto příkladu se říká, že tyto dva sloupce jsou vícehodnotové závislé na modelu auta.
Tato závislost může být reprezentována takto:
car_model -> maf_year
model_auta-> barva
Triviální funkční závislost v DBMS
Triviální závislost je sada atributů, které se nazývají triviální, pokud je sada atributů zahrnuta v tomto atributu.
Takže X -> Y je triviální funkční závislost, pokud Y je podmnožinou X. Pojďme to pochopit pomocí příkladu triviální funkční závislosti.
Například:
Emp_id | Emp_name |
---|---|
AS555 | Harry |
AS811 | George |
AS999 | Kevin |
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á je také známá jako netriviální závislost, nastává, když platí A->B, kde B není podmnožinou A. Ve vztahu, pokud atribut B není podmnožinou atributu A, je považován za netriviální závislost.
Společnost | Generální ředitel | věk |
---|---|---|
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)
Ale CEO není podmnožinou společnosti, a proto jde o netriviální funkční závislost.
Tranzitivní závislost v DBMS
Tranzitivní závislost je typ funkční závislosti, ke které dochází, když je „t“ nepřímo tvořeno dvěma funkčními závislostmi. Pojďme to pochopit s následujícím příkladem tranzitivní závislosti.
Příklad:
Společnost | Generální ředitel | věk |
---|---|---|
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 } -> {Věk} Pokud známe generálního ředitele, známe věk
Proto podle pravidla pravidla tranzitivní závislosti:
{Company} -> {Věk} by mělo platit, to dává smysl, protože pokud známe jméno společnosti, můžeme znát jeho věk.
Poznámka: Je třeba si uvědomit, že tranzitivní závislost se může objevit pouze ve vztahu tří nebo více atributů.
Co je normalizace?
Normalizace je metoda organizace dat v databázi, která vám pomáhá vyhnout se redundanci dat, vkládání, aktualizaci a mazání anomálií. Jde 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 vlastní teorii relačních databází. 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 zabraňuje redundanci dat. Proto se stejná data neopakují na více místech databáze
- 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é návrhy
- Pomůže vám najít fakta týkající se návrhu databáze
Shrnutí
- Funkční závislost je, když jeden atribut určuje jiný atribut v a Systém DBMS.
- Axiom, rozklad, závislost, determinant, unie 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) Transitivní
- K vícehodnotové závislosti dochází v situaci, kdy je v jedné tabulce více nezávislých vícehodnotových atributů
- Triviální závislost nastane, když sada atributů, které se nazývají triviální, pokud je sada atributů zahrnuta v tomto atributu
- Netriviální závislost nastane, když platí A->B, kde B není podmnožinou A
- Tranzitiv je typ funkční závislosti, ke které dochází, když je nepřímo tvořena dvěma funkčními závislostmi
- Normalizace je metoda organizace dat v databázi, která vám pomáhá vyhnout se redundanci dat