Funkcionális függőség a DBMS-ben: mi, típusai és példái

Mi az a funkcionális függőség?

Funkcionális függőség (FD) egy megszorítás, amely meghatározza egy attribútum és egy másik attribútum viszonyát egy adatbázis-kezelő rendszerben (DBMS). A funkcionális függőség segít megőrizni az adatbázisban lévő adatok minőségét. Létfontosságú szerepet játszik a jó és a rossz adatbázisterv közötti különbség megtalálásában.

A funkcionális függőséget egy „→” nyíl jelöli. X-nek Y-tól való funkcionális függőségét X → Y jelöli. Nézzük meg a DBMS funkcionális függőségét példán keresztül.

Példa:

Alkalmazotti létszám Alkalmazott Neve Fizetés Város
1 Dana 50000 San Francisco
2 Francis 38000 London
3 Andrew 25000 Tokyo

Ebben a példában, ha ismerjük az Employee number értékét, megkaphatjuk az Alkalmazott nevét, városát, fizetését stb. Ezzel azt mondhatjuk, hogy a város, az alkalmazott neve és a fizetés funkcionálisan függ az alkalmazott számától.

Kulcsszavak

Íme néhány kulcsfontosságú kifejezés a funkcionális függőségre vonatkozóan az adatbázisban:

Kulcsfontossagu kifejezesek Description
Alapigazság Az axiómák olyan következtetési szabályok halmaza, amelyek segítségével a relációs adatbázisok összes funkcionális függőségére lehet következtetni.
bomlás Ez egy olyan szabály, amely azt sugallja, hogy ha van egy táblája, amely úgy tűnik, hogy két entitást tartalmaz, amelyeket ugyanaz az elsődleges kulcs határoz meg, akkor érdemes megfontolni két különböző táblára való felosztását.
Függő Megjelenik a a funkcionális függőségi diagram jobb oldala.
döntő A funkcionális függőségi diagram bal oldalán jelenik meg.
Unió Azt sugallja, hogy ha két tábla különálló, és a PK ugyanaz, fontolja meg ezek elhelyezését. együtt

A funkcionális függőségek szabályai

Az alábbiakban az adatbázisban lévő funkcionális függőség három legfontosabb szabálya található:

  • Reflexív szabály –. Ha X attribútumok halmaza, Y pedig X_részhalmaza, akkor X Y értéket hordoz.
  • Kiegészítési szabály: Ha x -> y teljesül, és c attribútumkészlet, akkor az ac -> bc is teljesül. Ez olyan attribútumok hozzáadása, amelyek nem változtatják meg az alapvető függőségeket.
  • Tranzitivitási szabály: Ez a szabály nagyon hasonlít az algebra tranzitív szabályához, ha x -> y teljesül és y -> z teljesül, akkor x -> z is teljesül. Az X -> y-t funkcionálisan úgy hívjuk, hogy meghatározza y-t.

A funkcionális függőségek típusai a DBMS-ben

A DBMS-ben főként négyféle funkcionális függőség létezik. A DBMS-ben a funkcionális függőségek típusai a következők:

  • Többértékű függőség
  • Triviális funkcionális függőség
  • Nem triviális funkcionális függőség
  • Tranzitív függőség

Többértékű függőség a DBMS-ben

Többértékű függőség akkor fordul elő, ha egyetlen táblában több független többértékű attribútum található. A többértékű függőség egy reláció két attribútumkészlete közötti teljes megkötés. Megköveteli, hogy bizonyos sorok jelen legyenek egy relációban. Tekintse meg a következő többértékű függőségi példát, hogy megértse.

Példa:

Autómodell Maf_year színek
H001 2017 Fémes
H001 2017 Zöld
H005 2018 Fémes
H005 2018 Kék
H010 2015 Fémes
H033 2012 Szürke

Ebben a példában a maf_year és a szín független egymástól, de függ az autó_modelltől. Ebben a példában ezt a két oszlopot többértékűnek mondjuk az autó_modelltől függőnek.

Ezt a függőséget a következőképpen ábrázolhatjuk:

autó_modell -> maf_év

autó_modell-> szín

Triviális funkcionális függőség a DBMS-ben

A triviális függőség attribútumok halmaza, amelyeket triviálisnak nevezünk, ha az attribútumkészlet benne van az attribútumban.

Tehát X -> Y egy triviális funkcionális függőség, ha Y X részhalmaza. Értsük meg egy triviális funkcionális függőség példájával.

Például:

Emp_id Emp_name
AS555 Harry
AS811 György
AS999 Kevin

Tekintsük ezt a két oszlopot tartalmazó táblázatot: Emp_id és Emp_name.

{Emp_id, Emp_name} -> Emp_id egy triviális funkcionális függőség, mivel az Emp_id az {Emp_id,Emp_name} részhalmaza.

Nem triviális funkcionális függőség a DBMS-ben

Funkcionális függőség, amelyet nemtriviális függőségnek is neveznek, akkor fordul elő, ha A->B igaz, ahol B nem A részhalmaza. Egy kapcsolatban, ha B attribútum nem az A attribútum részhalmaza, akkor nem triviálisnak tekintendő. függőség.

Cégünkről CEO Kor
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Apple Tim Cook 57

Példa:

(Cég} -> {CEO} (ha ismerjük a vállalatot, tudjuk a vezérigazgató nevét)

De a CEO nem a Vállalat részhalmaza, és ezért ez nem triviális funkcionális függőség.

Tranzitív függőség a DBMS-ben

A tranzitív függőség a funkcionális függőség egy fajtája, amely akkor fordul elő, ha a „t”-t közvetetten két funkcionális függőség alkotja. Értsük meg a következő tranzitív függőségi példával.

Példa:

Cégünkről CEO Kor
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Alibaba Jack Ma 54

{Company} -> {CEO} (ha ismerjük a céget, tudjuk a vezérigazgató nevét)

{CEO } -> {Age} Ha ismerjük a vezérigazgatót, ismerjük a kort is

Ezért a tranzitív függőség szabálya szerint:

A {Company} -> {Age} értéknek meg kell felelnie, ez logikus, mert ha ismerjük a cég nevét, megtudhatjuk az életkorát is.

Megjegyzés: Ne feledje, hogy tranzitív függőség csak három vagy több attribútum relációjában fordulhat elő.

Mi a normalizálás?

A normalizálás az adatok rendszerezési módszere az adatbázisban, amely segít elkerülni az adatredundanciát, a beillesztést, frissítést és törlést. Ez egy olyan folyamat, amely a relációs sémákat különböző funkcionális függőségeik és elsődleges kulcsuk alapján elemzi.

A normalizálás a relációs adatbázis-elmélet velejárója. Előfordulhat, hogy ugyanazon adatok megkettőződnek az adatbázisban, ami további táblák létrehozását eredményezheti.

A funkcionális függőség előnyei

  • A funkcionális függőség elkerüli az adatredundanciát. Ezért ugyanazok az adatok nem ismétlődnek meg több helyen adatbázis
  • Segít megőrizni az adatbázisban lévő adatok minőségét
  • Segít meghatározni az adatbázisok jelentését és korlátait
  • Segít azonosítani a rossz terveket
  • Segít megtalálni az adatbázis tervezésével kapcsolatos tényeket

Összegzésként

  • A funkcionális függőség az, amikor az egyik attribútum egy másik attribútumot határoz meg a DBMS rendszer.
  • Axióma, Dekompozíció, Függő, Determináns, Egyesülés a funkcionális függőség kulcsfogalmai
  • A funkcionális függőség négy típusa: 1) többértékű 2) triviális 3) nem triviális 4) tranzitív
  • Többértékű függőség akkor fordul elő, ha egyetlen táblában több független többértékű attribútum található
  • A triviális függőség akkor fordul elő, ha olyan attribútumok halmaza, amelyeket triviálisnak nevezünk, ha az attribútumkészlet benne van az attribútumban
  • Nem triviális függőség akkor fordul elő, ha A->B igaz, ahol B nem A részhalmaza
  • A tranzitív a funkcionális függőség egy fajtája, amely akkor következik be, ha közvetetten két funkcionális függőség alkotja.
  • A normalizálás az adatok rendszerezési módszere az adatbázisban, amely segít elkerülni az adatredundanciát