Funkcionális függőségek

Slides:



Advertisements
Hasonló előadás
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.
Advertisements

Számvitel S ZÁMVITEL. Számvitel Ormos Mihály, Budapesti Műszaki és Gazdaságtudományi Egyetem, Hol tartunk... Hiányzik egy jól strukturált rendszer.
FOL függvényjelekkel Zsebibaba anyja A 2 harmadik hatványa a oszlopában az első blokk Ezek is nevek, de nem in- konstansok Azért, mert összetettek Predikátum:
Követelményelemzés – követelményspecifikáció A szoftverfejlesztés kapcsán az elemzés speciálisan egy kezdeti szakaszt jelöl, amelynek alapvető feladata.
1 Az önértékelés mint projekt 6. előadás 1 2 Az előadás tartalmi elemei  A projekt fogalma  A projektek elemei  A projekt szervezete  Projektfázisok.
Esettanulmány: egy inf. rendszer adatszerkezetének kialakítása ● Könyvtári adatbázis: ● Könyvek adatai: leltári szám, jelzet, szerző, cím, kiadás, ár,
Gazdasági jog IV. Előadás Egyes társasági formák Közkeresleti társaság, betéti társaság.
A székesfehérvári fiatalok helyzete
Nemzeti Audiovizuális Archívum
HÁZASSÁGI PEREK február 27. Jogász szak, nappali
Részekre bontás tilalma
1Transzplantációs Alapítvány
Adatbázis normalizálás
WE PROVIDE SOLUTIONS.
Dr. Kovács László Főtitkár
Alhálózat számítás Osztályok Kezdő Kezdete Vége Alapértelmezett CIDR bitek alhálózati maszk megfelelője A /8 B
Montázs készítése.
ABR ( Adatbázisrendszerek)
Adatbázisok gyakorlat
Befektetések II. Dr. Ormos Mihály, Befektetések.
Elektronikus irat (elektronikus dokumentum) és elektronikus aláírás
Tömörítés.
Követelményelemzés Cél: A rendszer tervezése, a feladatok leosztása.
Az Országos Egészségfejlesztési Intézet fejlesztési projektjei az iskolai egészségfejlesztés területén DR. TÖRÖK KRISZTINA.
Kovács Gergely Péter Egyszerű lekérdezések
A legnagyobb közös osztó
Rangsorolás tanulása ápr. 13..
Hipotézisvizsgálat.
Relációs adatbázis tervezés
Gazdaságstatisztika Korreláció- és regressziószámítás II.
Kijelentéslogikai igazság (tautológia):
Tartalékolás 1.
FÜGGVÉNYEK Legyen adott A és B két nem üres (szám)halmaz. Az A halmaz minden eleméhez rendeljük hozzá a B halmaz pontosan egy elemét. Ezt az egyértelmű.
2. Bevezetés A programozásba
Szerkezetek Dinamikája
Számításelmélet 4.
Közigazgatási alapvizsga a Probono rendszerben
Business Mathematics
Algoritmusok és Adatszerkezetek I.
Adatbázis alapfogalmak
Rendszerfejlesztés gyakorlat
Teljes visszalépéses elemzés
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
AVL fák.
Aritmetikai kifejezések lengyelformára hozása
Önköltségszámítás.
Környezeti Kontrolling
A csoportok tanulása, mint a szervezeti tanulás alapja
Bináris kereső fák Definíció: A bináris kereső fa egy bináris fa,
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
5. Előadás tartalma Magas szintű adatbázismodellek Adatmodellezés
Funkcionális függőségek
Matematika 11.évf. 1-2.alkalom
Erasmus+ hallgatói mobilitásra jelentkezéshez
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
SQL jogosultság-kezelés
Mintaillesztés Knuth-Morris-Pratt (KMP) algoritmus
Munkagazdaságtani feladatok
Lorenz-görbe dr. Jeney László egyetemi adjunktus
Tájékoztató az EPER pályázati folyamatáról
TITKOSÍTÓ ALGORITMUSOK
Sapientia - Erdelyi Magyar TudományEgyetem (EMTE) Csíkszereda
Sapientia - Erdelyi Magyar TudományEgyetem (EMTE) Csíkszereda
A geometriai transzformációk
Mesterséges intelligencia
Erasmus+ hallgatói mobilitásra jelentkezéshez
Háttértárak Merevlemezek.
Algoritmusok.
Háttértárak Merevlemezek.
Hipotéziselmélet Adatelemzés.
Előadás másolata:

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

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

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

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

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

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

3.5.2. 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 ????????

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.

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

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

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

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

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.

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}

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.

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda 3.6.1. 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}

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.

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.

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

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

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

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

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

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

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

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

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

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

Ö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