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

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
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 } -> {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