8. Előadás tartalma. Funkcionális függőségek

Hasonló dokumentumok
Csima Judit október 24.

Adatbázisok elmélete 12. előadás

Függőségek felismerése és attribútum halmazok lezártja

ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben

6. Gyakorlat. Relációs adatbázis normalizálása

Relációs adatbázisok tervezése ---1

7. Előadás tartalma A relációs adatmodell

Relációs adatbázisok tervezése 2.rész (dekompozíció)

ADATBÁZISOK. 4. gyakorlat: Redundanciák, funkcionális függőségek

Relációs adatbázisok tervezése ---2

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

Tervezés: Funkcionális függıségek

T Adatbázisok-adatmodellezés

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Csima Judit BME, VIK, november 9. és 16.

Adatbázisrendszerek. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF március 13.

Csima Judit november 15.

Magas szintű adatmodellek Egyed/kapcsolat modell I.

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF. Adatbázisrendszerek előadás november 7.

Normalizálási feladatok megoldása

Relációs adatbázisok tervezése 2.rész (dekompozíció)

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

Relációs adatbázisok tervezése 2.rész (dekompozíció)

Adatbázis rendszerek 1. 7.Gy: Rakjunk rendet. Normalizálás

0. Ha valahol még nem szerepelt a relációs algebrai osztás, akkor azt kell először venni:

Adatbázis rendszerek Ea: A rendes állapot. Normalizálás

E/K diagram átalakítása relációs adatbázistervre

Példa Többértékű függőségek, 4NF, 5NF

8. előadás. normálformák. Többértékű függés, kapcsolásfüggés, 4NF, 5NF. Adatbázisrendszerek előadás november 10.

A relációs adatbázis-tervezés alapjai

Adatbázis-kezelés. alapfogalmak

NORMALIZÁLÁS. Funkcionális függés Redundancia 1NF, 2NF, 3NF

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF. Adatbázisrendszerek előadás november 3.

Adatbázisok gyakorlat

Adatbáziskezelés. Indexek, normalizálás NZS 1

Egyed-kapcsolat modell

Adatbázis rendszerek. 4. előadás Redundancia, normalizálás

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

1. előadás: Halmazelmélet, számfogalom, teljes

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

Relációs adatbázisok tervezése ---1


6. Előadás tartalma Adatmodellezés 2

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

11. Gyakorlat Adatbázis-tervezés, normalizálás. Redundancia: egyes adatelemek feleslegesen többször is le vannak tárolva

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Adatbázisok elmélete 11. előadás

2.4. Egy algebrai lekérdezo nyelv

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

Egyed-kapcsolat modell

5. Előadás tartalma Magas szintű adatbázismodellek Adatmodellezés

13. Relációs adatmodell tervezése

Diszkrét matematika 2.C szakirány

ADATBÁZIS RENDSZEREK. Attributum típusok, normalizálsá, relációs algebra. Krausz Nikol, Medve András, Molnár Bence

8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

ADATBÁZIS-KEZELÉS. Relációs modell

Adatmodellezés. 1. Fogalmi modell

ADATBÁZIS-KEZELÉS Demetrovics Katalin

Adatbázisok 1. Az egyed-kapcsolat modell (E/K)

SZÁMÍTÁSTUDOMÁNY ALAPJAI

A relációs adatmodell

Adatbázisok elmélete 6. előadás

Adatbázisok elmélete

Adatbázis rendszerek Ea: A rendes állapot. Normalizálás

Adatbázisok elmélete 4. előadás

2.4. Egy algebrai lekérdező nyelv

Az egyed-kapcsolat modell (E/K)

Adatbázisok tavaszi félév Vizsgatételsor

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika 2. estis képzés

9. RELÁCIÓS ADATBÁZISOK LOGIKAI TERVEZÉSE TERVEZÉS E-R DIAGRAMBÓL TERVEZÉS SÉMADEKOMPOZÍCIÓVAL Anomáliák...

modell, amiben csak bináris sok-egy kapcsolatok (link, memberowner,

Adatbázisok gyakorlat

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Diszkrét matematika 2.

Gyakori elemhalmazok kinyerése

Mveletek a relációs modellben. A felhasználónak szinte állandó jelleggel szüksége van az adatbázisban eltárolt adatok egy részére.

Adatbázisok elmélete 6. előadás

Adatbázisok. 1. gyakorlat. Adatmodellezés október október 1. Adatbázisok 1 / 42

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

DISZKRÉT MATEMATIKA RENDEZETT HALMAZOKKAL KAPCSOLATOS PÉLDÁK. Rendezett halmaz. (a, b) R a R b 1. Reflexív 2. Antiszimmetrikus 3.

Diszkrét matematika 2.

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

Adatbázisok elmélete 6. előadás

Adatbázis rendszerek Definíciók:

Diszkrét matematika I.

A relációelmélet alapjai

Itt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk:

Relációs adatmodell. Adatbázisok használata

KOVÁCS BÉLA, MATEMATIKA I.

Adatmodellek. 2. rész

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Adatbázisrendszerek 8. előadás: Az Enhanced Entity-Relationship modell március 27.

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

Alap fatranszformátorok II

Formális nyelvek - 9.

3. Venn-diagrammok használata nélkül bizonyítsuk be az alábbi összefüggéseket!

1. megold s: A keresett háromjegyű szám egyik számjegye a 3-as, a két ismeretlen számjegyet jelölje a és b. A feltétel szerint

Diszkrét matematika 2. estis képzés

Átírás:

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

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

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 Csillagok háborúja 1977 124 sci-fi Fox Mark Hamill Csillagok háborúja 1977 124 sci-fi Fox 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 Wayne világa 1992 95 vígjáték Paramount 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 3

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

Szereplő(FilmCím, gyártév, SzínészNév) Gyártó(FilmCím, gyártév, stúdiónév) cím év név lakcím Filmek Szereplők Színészek hossz műfaj név cím Gyártó Stúdiók 6

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

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

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

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útumhalmaz 12

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

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

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

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

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

A funkcionális függőségek gráfszerű ábrázolása A4 A1 A2 A5 A3 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 A6 19

Funkcionális függőségek minimális mátrixa A2 A4 A5 A1,A2 2 4 5 7 A1 1 A2 2 A3 3 1 A4 4 1 A5 5 1 A6 6 1 1 A1,A2 7 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. 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 Csillagok háborúja 1977 124 sci-fi Fox Mark Hamill Csillagok háborúja 1977 124 sci-fi Fox 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 Wayne világa 1992 95 vígjáték Paramount Mike Meyers 21

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

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 Csillagok háborúja 1977 124 sci-fi Fox Mark Hamill Csillagok háborúja 1977 124 sci-fi Fox 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 Wayne világa 1992 95 vígjáték Paramount 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 24

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 Csillagok háborúja 1977 Mark Hamill Csillagok háborúja 1977 Harrison Ford Elfújta a szél 1939 Vivien Leigh Wayne világa 1992 Dana Carvez Wayne világa 1992 Mike Meyers 25

Cím Év Hossz műfaj stúdiónév stúdiócím Csillagok háborúja 1977 124 sci-fi Fox Hollywood Kutyahideg 2005 120 dráma Disney Buena Vista Wayne világa 1992 95 vígjáték Paramount Hollywod 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

stúdiónév Fox Disney Paramount stúdiócím Hollywood Buena Vista Hollywood Cím Év 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 27

Színészek Filmek színész stúdiója Szerződik gyártó stúdió gyárt Stúdiók 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 28

Ö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 7. 3.28. 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