Funkční závislost v DBMS: Co je, typy a příklady

Obsah:

Anonim

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
Google 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
Google 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