Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Funkcionális függőségek

Hasonló előadás


Az előadások a következő témára: "Funkcionális függőségek"— Előadás másolata:

1 Funkcionális függőségek
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda 8. Előadás tartalma Funkcionális függőségek 8.1 Funkcionális függőségek és kulcsok 8.2 Relációk felbontása

2 Funkcionális függőségek
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda Funkcionális függőségek Definíció: A funkcionális függőség egy n attribútumú R reláción a következő állítás: “ha R két sora megegyezik az A1, A2,.. Am attribútumokon, akkor meg kell egyezniük egy másik attribútumon, a B-n is” Ekvivalens definíció: Az R relációnak NINCS 2 sora, amelyik megegyezne az A1, A2,.. Am attribútumok mindegyikén A1, A2, ...Am→B Vagyis A1, A2, ..., Am funkcionálisan meghatározza B-t

3 cím, év → hossz, műfaj, stúdióNév cím, év → színészNév HAMIS állítás –
filmcím év Hossz műfaj stúdióNév színészNév Csillagok háborúja 1977 124 sci-fi Fox Carrie Fisher Mark Hamill Harrison Ford Elfújta a szél 1939 231 dráma MGM Vivien Leigh Wayne világa 1992 95 vígjáték Paramount Dana Carvez Mike Meyers cím, év → hossz cím, év → műfaj cím, év → stúdióNév cím, év → hossz, műfaj, stúdióNév cím, év → színészNév HAMIS állítás – NEM ÉRVÉNYES funkcionális függőség

4 Relációk kulcsai R reláció {A1, A2,..., Am} attribútumai az R KULCSA, ha: Ezen attribútumok funkcionálisan meghatározzák a reláció minden más attribútumát, vagyis NINCS az R-ben két olyan KÜLÖNBÖZŐ sor, amely mindegyik A1, A2, .... Am attribútumon megegyezne. Nincs olyan valódi részhalmaza {A1, A2, …Am}-nek, amely funkcionálisan meghatározná az R összes többi attribútumát, azaz a kulcs MINIMÁLIS Függvény: ebben az esetben NINCS olyan művelet, hogy ha megadjuk a Csillagok Háborúja, 1977 párost, s KISZÁMÍTHATÓ a film hossza Ebben az esetben a függvény kiszámolása a relációból való VISSZAKERESÉST jelenti

5 Szuperkulcsok Definíció: Azon attribútumhalmazokat, amelyek tartalmaznak kulcsot szuperkulcsoknak nevezzük {cím, év, színészNév} kulcs {cím, év, színészNév, műfaj} szuperkulcs Relációk kulcsainak megtalálása Egyedhalmaz→reláció kulcsa, egyedhalmaz kulcsa Kapcsolatok BINÁRIS kapcsolatokból keletkezett reláció kulcsa n:m kapcsolat, a kapcsolódó egyedhalmazok ÖSSZES kulcsattribútumai benne lesznek a kulcsban 1:1 kapcsolat, Bármely összekapcsolt egyedhalmaz kulcsattribútumai lehetnek R attribútumai 1:n kapcsolat, akkor az n felén levő egyedhalmaz attribútumai a kulcsok

6 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Szereplő(FilmCím, gyártÉv, SzínészNév) Gyártó(FilmCím, gyártÉv, stúdióNév) Filmek Színészek Stúdiók Szereplők Gyártó cím év hossz név lakcím műfaj

7 feladat. Tekintsünk egy zárt konténerben található molekulák jelenlegi helyzetét leíró relációt. Az attribútumok a molekulaazonosító, a molekulák x, y és z koordinátái, és a sebességek az x, y és z irányokban. Milyen funkcionális függőségekre várhatjuk, hogy érvényesek? Melyek a kulcsok? MolekulaAktuálisHelyzet(molekulaAzonosító, x, y, z, vx, vy, vz) molekulaAzonosító → x, y, z, vx, vy, vz ???????? x, y, z → molekulaAzonosító, vx, vy, vz ???????? vx, vy, vz →molekulaAzonosító, x, y, z ????????

8 Funkcionális függőségek típúsai:
Teljes függőség: Ha X és Y attribútumok (X lehet attribútum halmaz is) egy relációban és Y funkcionálisan függ X-től, de nem függ funkcionálisan X egy valódi részhalmazától sem Parciális függőség: X és Y attribútum halmazok között parciális függőség áll fenn, ha a funkcionális függőség fennmarad akkor is, ha az X-ből eltávolítunk egy attribútumot Tranzitív függőség: Ha adottak az X, Y, Z attribútumok, vagy attribútum halmazok az R relációra és érvényes a X→Y és Y→Z, viszont X NEM függ funkcionálisan sem Y sem Z-től, akkor Z tranzitíven függ X-től, az Y-on keresztül.

9 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Funkcionális függőségekre vonatkozó szabályok Reflexivitás: ha (YX), akkor X→Y, vagyis egy attribútumhalmaz funkcionálisan meghatározza saját magát és saját részhalmazait is. (triviális) Önmeghatározás (triviális): X→X Bővítés: ha X→Y, akkor XZ→YZ Tranzitivitás: X→Y és Y→Z, akkor X→Z Pszeudo-tranzitivitás: X→Y és WY→Z, akkor WX→Z Egyesítés: ha X→Y és X→Z, akkor X→YZ Szétvágás: ha X→YZ, akkor X→Y és X→Z Társítás: Ha X→Y és Z→W, akkor XZ→YW Általános összesítés: Ha X→Y és Z→W, akkor XU(Z\Y)→YW

10 Bővítés: ha X→Y, akkor XZ→YZ
Tranzitivitás: X→Y és Y→Z, akkor X→Z Pszeudo-tranzitivitás: X→Y és WY→Z, akkor WX→Z Bizonyítás: X →Y, akkor WX →WY (bővítés) És mivel WY →Z, a tranzitivitás miatt WX →Z Egyesítés: ha X→Y és X→Z, akkor X→YZ Szétvágás: ha X→YZ, akkor X→Y és X→Z Társítás: Ha X→Y és Z→W, akkor XZ→YW Bizonyítás: X →Y , akkor XZ →YZ(bővítés), XZ →Z és XZ →Y (szétvágás); Z →W, akkor XZ →XW (bővítés), XZ →X és XZ →W (szétvágás) Egyesítük a pirossal megadott FF-ket XZ →YW (egyesítés) qed. Általános összesítés: Ha X→Y és Z→W, akkor XU(Z\Y)→YW

11 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Triviális függőségek A1A2...An→B1B2...Bm funkcionális függőség Triviális, ha a B-k az A-k egy részhalmazát alkotják cím, év → cím Nem triviális, ha a B-k közül legalább egy nincs benne az A-kban. cím, év → cím, műfaj Teljesen nem triviális, ha a B-k egyike sem egyezik meg az A-k valamelyikével cím, év → hossz, műfaj

12 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Attribútumhalmazok lezárásának kiszámítása {A1, A2, …, An} egy attribútumhalmaz, S a funkcionális függőségek halmaza, ami ugyanarra az attribútumhalmazra érvényes {A1, A2, …, An}+ az attribútumhalmaz S szerinti lezártja Megengedjük a TRIVIÁLIS függőségeket. Lezárás Kibővítés Kiindulási attribútum-halmaz

13 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Az attribútumhalmaz lezárásának kiszámítása algoritmus: Legyen X attribútumhalmaz, amely végül maga a lezárt lesz. Legyen először X kezdőértéke {A1, A2, …, An} Ismételten keresünk olyan B1B2…Bm→C funkcionális függőséget az S-ből, amelyre a teljes B1,B2,...,Bm benne van az X attribútumhalmazban, de a C nincs. Ekkor C-t hozzávesszük az X halmazhoz A 2-es lépést mindaddig ismételjük, ameddig már nem tudunk több attribútumot hozzávenni X-hez. Mivel X csak növekedhet, maximálisan az összes attribútumot kaphatjuk meg. Az az X halmaz, amelyet már nem tudunk tovább bővíteni lesz az {A1, A2, ..., An}+-nak a helyes értéke.

14 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
3.28. példa: Legyen egy reláció, amelynek attribútumai R(A,B,C,D,E,F) S funkcionális függőségek halmaza: {(1)AB→C, (2)BC→AD, (3)D→E, (4)CF→B} Mi az {A,B} lezártja, azaz az {A,B}+ X={A,B} Az 1-es függőségből X={A,B,C} A 2-es függőségből BC→D, vagyis X={A,B,C,D} A 3-as függőségből X={A,B,C,D,E} A 4-es függőség bal oldala NINCS benne az X-ben, vagyis tovább nem lehet bővíteni a halmazt {A,B}+={A,B,C,D,E}

15 Tétel: Az A1A2...An→B1B2...Bm funkcionális függőség akkor és csak akkor következik az S függőségi halmazból, ha B1,B2...Bm benne van az {A1,A2,...An}+-ban Lezárások és kulcsok Tétel: {A1,A2,...An}+ akkor és csak akkor az összes attribútumokból álló halmaz, ha A1,A2,...An a szóban forgó reláció szuperkulcsa. Adott függőségek és levezetett függőségek. Tétel: Függőségek bármely olyan halmazát, amelyből a reláció összes függőségére tudunk következtetni, az adott reláció bázisának nevezzük. Ha a bázisban nem található a függőségek valódi részhalmaza, amelyből a teljes függőségi halmazt le lehetne vezetni, akkor a bázist minimálisnak nevezzük.

16 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
feladat. R(A,B,C,D) és AB→C, C→D és D→A f.f. a)Melyek azok a nem triviális függőségek, amelyek az adott függőségekből következnek Tranzitivitás (1 és 2) AB→D, (2 és 3) C→A b) Melyek az R összes kulcsai {A,B}, {B,C}, {B,D}, {A,B,C}, {A,B,D}, {B,C,D}, {A,B,C,D} c) Melyek az R összes kulcsai, amelyek nem szuperkulcsok {A,B}, {B,C}, {B,D}

17 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
3.28. példa: Legyen egy reláció, amelynek attribútumai R(A,B,C,D,E,F) S funkcionális függőségek halmaza: {(1)AB→C, (2)BC→AD, (3)D→E, (4)CF→B} kulcsok {A,B}+={A,B,C,D,E}, vagyis {A,B,F} az egyik kulcs {B,C}+={A,B,C,D}, vagyis {B,C,F} egy másik szuperkulcs {C,F}+={C,F,B}(4)={A,B,C,D,F}(2)={A,B,C,D,E,F}(3) Mivel látjuk, hogy az F NEM szerepel egyik függőség JOBB oldalán sem, ezért minden szuperkulcsban és egyúttal minden kulcsban is benne kell legyen. Tétel: Azon attribútumok, amelyek az eredeti funkcionális függőségek JOBB oldalán NEM szerepelnek, benne kell legyenek a reláció összes kulcsában.

18 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
A funkcionális függőségek grafikus megjelenítései Grafikus diagram a funkcionális függőségek megjelenítésére: Az attribútumokat téglalapokban tároljuk, nyilakkal adjuk meg a függőségeket. A1 A2 A3 A4 A5 A6 A1,A2→A4 A1,A2→A5 A2→A3 A4→A6 A5→A6 Az elsődleges kulcs által alkotott függőségeket a téglalapok FELSŐ részére írjuk. Csak a bázist írtuk fel, a levezetett függőségeket NEM.

19 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
A funkcionális függőségek gráfszerű ábrázolása A2 A1 Az előző bázis-ábrázolás gráfra átalakítva. Létezhetnek csomópontok a gráfban, amelyek minimálisan 2 kimenettel kell rendelkezzenek A3 A4 A5 A6

20 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Funkcionális függőségek minimális mátrixa A2 A4 A5 A1,A2 2 4 5 7 A1 1 A3 3 A6 6

21 Relációs adatbázissémák tervezése
Problémák akkor merülnek fel, amikor túl sok információt próbálunk egyetlen relációba tömöríteni. Ezt anomáliának nevezzük. 1. Redundancia. Az információk feleslegesen ismétlődhetnek több sorban. Az alábbi ábrán a filmek hossza és a műfaj jó példa erre. A többi információ vagy kulcs, vagy idegen kulcs vagy saját attribútum. filmcím év Hossz műfaj stúdióNév színészNév Csillagok háborúja 1977 124 sci-fi Fox Carrie Fisher Mark Hamill Harrison Ford Elfújta a szél 1939 231 dráma MGM Vivien Leigh Wayne világa 1992 95 vígjáték Paramount Dana Carvez Mike Meyers

22 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
2. Módosítási problémák. Lehet, hogy megváltoztatjuk az egyik sorban tárolt információt, miközben ugyanaz az információ változatlan marad egy másik sorban. Példa: Csillagok háborúja 125 perces 3. Törlési problémák. Ha az értékek halmaza üres halmazzá válik, akkor ennek mellékhatásaként más információt is elveszthetünk. Péda: Színészek közül kitöröljük Vivien Leight, akkor az Elfújta a szél filmről levő összes információ törlődik

23 Relációk felbontása. Az anomáliák megszüntetésének az elfogadott útja a relációk felbontása (dekompozíciója). R felbontása egyrészt azt jelenti, hogy R attribútumait szétosztjuk úgy, hogy ezáltal két új reláció sémáját alakítjuk ki belőle. R sorait vetítjük. R reláció sémája {A1,A2,…An}. R-et felbonthatjuk S és T két relációra, amelyek sémái {B1,B2,...Bm} és {C1,C2,...Ck} úgy, hogy: {A1,A2,…An}={B1,B2,…Bm}U{C1,C2,…Ck} 2. Az S reláció sorai az R-ben szereplő összes sornak a {B1,B2,…Bm}-re vett vetületei 3. Hasonlóan a T reláció sorai az R aktuális előfordulásában szereplő sorok {C1,C2,...,Ck} attribútumok halmazára vett projekciói

24 cím, év → hossz, műfaj, stúdióNév
filmcím év Hossz műfaj stúdióNév színészNév Csillagok háborúja 1977 124 sci-fi Fox Carrie Fisher Mark Hamill Harrison Ford Elfújta a szél 1939 231 dráma MGM Vivien Leigh Wayne világa 1992 95 vígjáték Paramount Dana Carvez Mike Meyers cím, év → hossz cím, év → műfaj cím, év → stúdióNév cím, év → hossz, műfaj, stúdióNév cím, év → színészNév HAMIS állítás –NEM ÉRVÉNYES funkcionális függőség

25 Felbontjuk a Film relációt: Film1(cím, év, hossz, műfaj, stúdióNév)
Film2(cím, év, színészNév) filmcím év Hossz műfaj stúdióNév Csillagok háborúja 1977 124 sci-fi Fox Elfújta a szél 1939 231 dráma MGM Wayne világa 1992 95 vígjáték Paramount filmcím év színészNév Csillagok háborúja 1977 Carrie Fisher Mark Hamill Harrison Ford Elfújta a szél 1939 Vivien Leigh Wayne világa 1992 Dana Carvez Mike Meyers

26 Tranzitivitás miatt következik Cím év→stúdióCím
Hossz műfaj stúdióNév stúdióCím Csillagok háborúja 1977 124 sci-fi Fox Hollywood 2 Kutyahideg 2005 120 dráma Disney Buena Vista Wayne világa 1992 95 vígjáték Paramount Hollywod 1 A jedi visszatér 2017 126 Sci-fi Cím év→stúdióNév stúdióNév→stúdióCím Tranzitivitás miatt következik Cím év→stúdióCím

27 stúdióNév stúdióCím Fox Hollywood 2 Disney Buena Vista Paramount
Hossz műfaj stúdióNév Csillagok háborúja 1977 124 sci-fi Fox Kutyahideg 2005 120 dráma Disney Wayne világa 1992 95 vígjáték Paramount A jedi visszatér 2017 126

28 Színészek Stúdiók Filmek Szerződik gyárt gyártó stúdió
színész stúdiója gyártó stúdió gyárt A szerződik reláció kulcsát keressük. Szerzodik(szineszNev, gyartoStud, szineszStud, filmCim, gyartEv) Fennáll a következő funkcionális függőség: filmCim, gyartEv →gyartoStud

29 Összefoglaló kérdések
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda Összefoglaló kérdések Funkcionális függőségek. Definíciók. A relációk kulcsai Szuperkulcsok Funkcionális függőségek tipúsai Szabályok Attribútumhalmazok lezártjának kiszámítási algoritmusa 3.28. példa Lezárások és kulcsok Grafikus diagram. Gráf diagram. Mátrix diagram Milyen anomáliák vannak, s ezek hogyan nyilvánulnak meg


Letölteni ppt "Funkcionális függőségek"

Hasonló előadás


Google Hirdetések