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.

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Nevezetes algoritmusok
Preferenciák, rendezések, reprezentálhatóság
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 5. gyakorlat Adatmodellezés III/IV – Funkcionális függés,
Természetes számok 0, 1, 2, 3, ..., 24, 25, ..., 1231, 1232, ..., n, ...  = {0, 1, 2, 3, ..., n,...} a természetes számok halmaza Műveletek: összeadás.
A normalizálás az adatbázis-tervezés egyik módszere
1 Sapientia - Erdelyi Magyar TudományEgyetem (EMTE) Csíkszereda 5. Előadás tartalma Magas szintű adatbázismodellek Adatmodellezés Az Egyed-kapcsolat (E/K)
4. gyakorlat Normalizálás.
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE)
Függőségek, normálformák
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Leképzési szabályok.
ADATBÁZISOK
Funkcionális függés Redundancia 1NF, 2NF, 3NF
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 6. gyakorlat Gyakorlás, kötelezőprogram.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
Koordináta transzformációk
Euklidészi gyűrűk Definíció.
Algebrai struktúrák 1.
Relációs adatbázisok tervezése
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
MI 2003/7 - 1 Az egyesítési algoritmus Minden kapitalista kizsákmányoló. Mr. Smith kapitalista. Mr. Smith kizsákmányoló.
Halmazok, relációk, függvények
az MSAccess programmal
Adatbázis rendszerek I
Adatbázis rendszerek I
Lineáris algebra Mátrixok, determinánsok, lineáris egyenletrendszerek
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
6. SZÁMELMÉLET 6.1. Oszthatóság
1.3 Relációk Def. (rendezett pár) (a1 , a2 ) := {{a1} , {a1 , a2 }} .
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
MATEMATIKA ÉS INFORMATIKA I.
dr. Szalkai István Pannon Egyetem, Veszprém
*** HALMAZOK *** A HALMAZ ÉS MEGADÁSA A HALMAZ FOGALMA
Exponenciális egyenletek
Halmazműveletek.
Számegyenesek, intervallumok
Sapientia - Erdelyi Magyar TudományEgyetem (EMTE) Csíkszereda 6. Előadás tartalma Adatmodellezés 2 1. Tervezési alapelvek 2. Alosztályok 3. Megszorítások.
Bevezetés az UML-be az E/K modellen keresztül
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Adatbázis kezelés. Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei – egy meghatározott tulajdonságuk alapján – összetartozónak tekinthetők.
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
Határozatlan integrál
Lineáris algebra.
Relációs adatbázissémák
Relációs algebra Relációs sémák tervezése
1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben 1.0 Bevezetés. A.
előadások, konzultációk
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben 2.2 Műveletek a.
előadások, konzultációk
Algoritmizálás, adatmodellezés
Relációs adatbázis tervezés
Többértékű függőségek
ABR ( Adatbázisrendszerek)
Adatbáziskezelés 12. alkalom.
Relációs adatmodell, normálformák
Adatbázis-kezelés 2. Relációs adatbázisok.
Sapientia - Erdelyi Magyar TudományEgyetem (EMTE) Csíkszereda
Funkcionális függőségek
Többértékű függőségek
Funkcionális függőségek
Előadás másolata:

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 1

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 A 1, A 2,.. A m 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 A 1, A 2,.. A m attribútumok mindegyikén A 1, A 2,...A m →B Vagyis A 1, A 2,..., A m funkcionálisan meghatározza B-t 2

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évHAMIS állítás – NEM ÉRVÉNYES funkcionális függőség 3 filmcímévHosszműfajstúdióNévszínészNév Csillagok háborúja sci-fiFoxCarrie Fisher Csillagok háborúja sci-fiFoxMark Hamill Csillagok háborúja sci-fiFoxHarrison Ford Elfújta a szél drámaMGMVivien Leigh Wayne világa199295vígjátékParamountDana Carvez Wayne világa199295vígjátékParamountMike Meyers

Relációk kulcsai R reláció {A 1, A 2,..., A m } attribútumai az R KULCSA, ha: 1)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 A 1, A 2,.... A m attribútumon megegyezne. 2)Nincs olyan valódi részhalmaza {A 1, A 2, …A m }-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 4

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 kulcsok lesznek 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 5

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) FilmekSzínészek Stúdiók Szerepl ők Gyártó címév hossz névlakcím névcím műfaj 6

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, v x, v y, v z ) molekulaAzonosító → x, y, z, v x, v y, v z ???????? x, y, z → molekulaAzonosító, v x, v y, v z ???????? v x, v y, v z →molekulaAzonosító, x, y, z???????? 7

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

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 9

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 10

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda Triviális függőségek A 1 A 2...A n →B 1 B 2...B m 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 11

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 Kiindulási attribútum- halmaz Kibővítés 12

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda Az attribútumhalmaz lezárásának kiszámítása algoritmus: 1.Legyen X attribútumhalmaz, amely végül maga a lezárt lesz. Legyen először X kezdőértéke {A1, A2, …, An} 2.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 3.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. 4.Az az X halmaz, amelyet már nem tudunk tovább bővíteni lesz az {A1, A2,..., An} + -nak a helyes értéke. 13

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda 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} + 1.X={A,B} 2.Az 1-es függőségből X={A,B,C} 3.A 2-es függőségből BC→D, vagyis X={A,B,C,D} 4.A 3-as függőségből X={A,B,C,D,E} 5.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} 14

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

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

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

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. A1A2A3A4A5A6 A1,A2→A4A1,A2→A5A2→A3 A4→A6A5→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. 18

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda A funkcionális függőségek gráfszerű ábrázolása A1 A4 A2 A3 A5 A6 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 19

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda Funkcionális függőségek minimális mátrixa A2A4A5A1,A A11 A22 A331 A441 A551 A6611 A1,A27 20

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. 21 filmcímévHosszműfajstúdióNévszínészNév Csillagok háborúja sci-fiFoxCarrie Fisher Csillagok háborúja sci-fiFoxMark Hamill Csillagok háborúja sci-fiFoxHarrison Ford Elfújta a szél drámaMGMVivien Leigh Wayne világa199295vígjátékParamountDana Carvez Wayne világa199295vígjátékParamountMike 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 22

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: 1.{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 23

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évHAMIS állítás –NEM ÉRVÉNYES funkcionális függőség 24 filmcímévHosszműfajstúdióNévszínészNév Csillagok háborúja sci-fiFoxCarrie Fisher Csillagok háborúja sci-fiFoxMark Hamill Csillagok háborúja sci-fiFoxHarrison Ford Elfújta a szél drámaMGMVivien Leigh Wayne világa199295vígjátékParamountDana Carvez Wayne világa199295vígjátékParamountMike Meyers

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) 25 filmcímévHosszműfajstúdióNév Csillagok háborúja sci-fiFox Elfújta a szél drámaMGM Wayne világa199295vígjátékParamount filmcímévszínészNév Csillagok háborúja1977Carrie Fisher Csillagok háborúja1977Mark Hamill Csillagok háborúja1977Harrison Ford Elfújta a szél1939Vivien Leigh Wayne világa1992Dana Carvez Wayne világa1992Mike Meyers

CímÉvHosszműfajstúdióNévstúdióCím Csillagok háborúja sci-fiFoxHollywood Kutyahideg drámaDisneyBuena Vista Wayne világa199295vígjátékParamountHollywod 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 26

CímÉvHosszműfajstúdióNév Csillagok háborúja sci-fiFox Kutyahideg drámaDisney Wayne világa199295vígjátékParamount stúdióNévstúdióCím FoxHollywood DisneyBuena Vista ParamountHollywood 27

28 Színészek Stúdiók Filmek Szerződik 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

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