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