Funkčná závislosť v DBMS: Čo je, typy a príklady

Obsah:

Anonim

Čo je funkčná závislosť?

Funkčná závislosť (FD) je obmedzenie, ktoré určuje vzťah jedného atribútu k inému atribútu v systéme správy databáz (DBMS). Funkčná závislosť pomáha udržiavať kvalitu údajov v databáze. Zohráva zásadnú úlohu pri hľadaní rozdielov medzi dobrým a zlým dizajnom databázy.

Funkčná závislosť je označená šípkou „→“. Funkčnú závislosť X na Y predstavuje X → Y. Poďme si na príklade porozumieť funkčnej závislosti v DBMS.

Príklad:

Číslo zamestnanca Meno zamestnanca Plat Mesto
1 Dana 50 000 San Francisco
2 Františka 38000 Londýn
3 Andrew 25000 Tokio

V tomto príklade, ak poznáme hodnotu čísla zamestnanca, môžeme získať meno zamestnanca, mesto, plat atď. Týmto môžeme povedať, že mesto, meno zamestnanca a plat sú funkčne závislé od čísla zamestnanca.

V tomto návode sa dozviete:

  • Kľúčové výrazy
  • Pravidlá funkčných závislostí
  • Typy funkčných závislostí v DBMS
  • Závislosť viacerých hodnôt v DBMS
  • Triviálna funkčná závislosť v DBMS
  • Netriviálna funkčná závislosť v DBMS
  • Tranzitívna závislosť v DBMS
  • Čo je normalizácia?
  • Výhody funkčnej závislosti

Kľúčové výrazy

Tu sú niektoré kľúčové pojmy pre funkčnú závislosť v databáze:

Kľúčové výrazy Popis
Axiom Axioms je sada odvodzovacích pravidiel používaných na odvodenie všetkých funkčných závislostí na relačnej databáze.
Rozklad Je to pravidlo, ktoré naznačuje, že ak máte tabuľku, ktorá obsahuje dve entity, ktoré sú určené rovnakým primárnym kľúčom, mali by ste zvážiť ich rozdelenie do dvoch rôznych tabuliek.
Závislé Je zobrazený na pravej strane diagramu funkčných závislostí.
Rozhodujúci Je zobrazený na ľavej strane diagramu funkčnej závislosti.
Únie Navrhuje sa, že ak sú dve tabuľky oddelené a PK je rovnaká, mali by ste zvážiť ich umiestnenie. spolu

Pravidlá funkčných závislostí

Ďalej sú uvedené tri najdôležitejšie pravidlá pre funkčnú závislosť v databáze:

  • Reflexné pravidlo -. Ak X je množina atribútov a Y je_subset_of X, potom X má hodnotu Y.
  • Pravidlo zväčšenia: Keď x -> y platí a c je nastavený atribút, potom platí aj ac -> bc. To je pridanie atribútov, ktoré nezmenia základné závislosti.
  • Pravidlo prechodnosti: Toto pravidlo je veľmi podobné prechodnému pravidlu v algebre, ak platí x -> y a y -> z, potom platí aj x -> z. X -> y sa volá tak funkčne, že určuje y.

Typy funkčných závislostí v DBMS

V DBMS existujú hlavne štyri typy funkčnej závislosti. Nasledujú typy funkčných závislostí v DBMS:

  • Závislosť s viacerými hodnotami
  • Triviálna funkčná závislosť
  • Netriviálna funkčná závislosť
  • Tranzitívna závislosť

Závislosť viacerých hodnôt v DBMS

Závislosť s viacerými hodnotami sa vyskytuje v situácii, keď v jednej tabuľke existuje viac nezávislých atribútov s viacerými hodnotami. Závislosť s viacerými hodnotami je úplné obmedzenie medzi dvoma množinami atribútov vo vzťahu. Vyžaduje, aby boli vo vzťahu prítomné určité n-tice. Zvážte nasledujúci príklad závislostí s viacerými hodnotami, ktorým porozumiete.

Príklad:

Car_model Maf_rok Farba
H001 2017 Kovové
H001 2017 zelená
H005 2018 Kovové
H005 2018 Modrá
H010 2015 Kovové
H033 2012 Šedá

V tomto príklade sú maf_year a color navzájom nezávislé, ale závisia od car_model. V tomto príklade sa o týchto dvoch stĺpcoch hovorí, že sú viachodnotové, čo závisí od car_model.

Táto závislosť môže byť znázornená takto:

auto_model -> maf_rok

auto_model-> farba

Triviálna funkčná závislosť v DBMS

Triviálna závislosť je sada atribútov, ktoré sa nazývajú triviálne, ak je v nich atribút zahrnutý.

Takže X -> Y je triviálna funkčná závislosť, ak Y je podmnožinou X. Poďme to pochopiť pomocou príkladu Trivial Functional Dependency.

Napríklad:

Emp_id Emp_name
AS555 Harry
AS811 George
AS999 Kevin

Zvážte túto tabuľku s dvoma stĺpcami Emp_id a Emp_name.

{Emp_id, Emp_name} -> Emp_id je triviálna funkčná závislosť, pretože Emp_id je podmnožinou parametrov {Emp_id, Emp_name}.

Netriviálna funkčná závislosť v DBMS

Funkčná závislosť, ktorá sa tiež nazýva netriviálna závislosť, nastane, keď platí A-> B, kde B nie je podmnožinou A. Vo vzťahu, ak atribút B nie je podmnožinou atribútu A, považuje sa za netriviálnu závislosť.

Spoločnosť Generálny riaditeľ Vek
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Apple Tim Cook 57

Príklad:

(Spoločnosť} -> {CEO} (ak poznáme spoločnosť, poznáme meno generálneho riaditeľa)

Generálny riaditeľ však nie je podmnožinou spoločnosti, a preto ide o netriviálnu funkčnú závislosť.

Tranzitívna závislosť v DBMS

Tranzitívna závislosť je typ funkčnej závislosti, ktorá sa stane, keď t je nepriamo tvorené dvoma funkčnými závislosťami. Poďme to pochopiť s nasledujúcim príkladom tranzitívnej závislosti.

Príklad:

Spoločnosť Generálny riaditeľ Vek
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Alibaba Jack Ma 54

{Company} -> {CEO} (ak poznáme kompay, vieme aj meno jeho generálneho riaditeľa)

{CEO} -> {Age} Ak poznáme generálneho riaditeľa, poznáme aj jeho vek

Preto podľa pravidla pravidla tranzitívnej závislosti:

{Company} -> {Age} by mal platiť, to má zmysel, pretože ak poznáme názov spoločnosti, môžeme poznať jeho vek.

Poznámka: Musíte si uvedomiť, že prechodná závislosť sa môže vyskytnúť iba vo vzťahu k trom alebo viacerým atribútom.

Čo je normalizácia?

Normalizácia je metóda organizovania údajov v databáze, ktorá vám pomôže vyhnúť sa anomálii redundancie, vkladania, aktualizácie a odstránenia údajov. Je to proces analýzy schém vzťahov na základe ich rôznych funkčných závislostí a primárneho kľúča.

Normalizácia je vlastná teórii relačných databáz. Môže to mať za následok duplikovanie rovnakých údajov v databáze, čo môže mať za následok vytvorenie ďalších tabuliek.

Výhody funkčnej závislosti

  • Funkčná závislosť zabráni nadbytočnosti údajov. Rovnaké údaje sa preto neopakujú na viacerých miestach v databáze
  • Pomáha vám udržiavať kvalitu údajov v databáze
  • Pomáha vám definovať významy a obmedzenia databáz
  • Pomôže vám to identifikovať zlé vzory
  • Pomôže vám zistiť fakty týkajúce sa návrhu databázy

Zhrnutie

  • Funkčná závislosť je, keď jeden atribút určuje iný atribút v systéme DBMS.
  • Axióm, rozklad, závislý, determinant, zväzok sú kľúčové pojmy pre funkčnú závislosť
  • Štyri typy funkčnej závislosti sú: 1) viachodnotové 2) triviálne 3) netriviálne 4) prechodné
  • Závislosť s viacerými hodnotami sa vyskytuje v situácii, keď v jednej tabuľke existuje viac nezávislých atribútov s viacerými hodnotami
  • Triviálna závislosť nastane, keď je množina atribútov, ktorá sa nazýva triviálna, ak je v nej atribút zahrnutý.
  • Netriviálna závislosť nastane, keď platí A-> B, kde B nie je podmnožinou A
  • Tranzitív je typ funkčnej závislosti, ku ktorej dochádza, keď je nepriamo tvorený dvoma funkčnými závislosťami
  • Normalizácia je metóda organizovania údajov v databáze, ktorá vám pomôže zabrániť redundancii údajov