Adatbázisok - users.nik.uni-obuda.huusers.nik.uni-obuda.hu/kotsis/ab/ab.pdf · 13. dia 13 Az...
Transcript of Adatbázisok - users.nik.uni-obuda.huusers.nik.uni-obuda.hu/kotsis/ab/ab.pdf · 13. dia 13 Az...
1. dia
1
Adatbázisok
Segédanyag az előadáshoz
Dr. Kotsis Domokos
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
2. dia
2
IrodalomElmashri, R., Navathe, Sh.: Fundamentals of Database Systems,Benjamin/Cummings Publ. Comp., Redwood City, 1994.
Kende M., Kotsis D., Nagy I.: Adatbázis kezelés az ORACLE rendszerbenPANEM, Budapest, 2002.
Knuth, Donald E.: A számítógép programozás művészete, 3. kötet: Keresés és rendezés, Műszaki Könyvkiadó, Budapest 1988.
Quittner Pál, Kotsis Domokos: Számítástechnika Rendszerszervezőknek, Akadémiai Kiadó, Budapest 1985.
Jiawei, H.,Kamber, M.: Adatbányászat,PANEM, Budapest, 2004.
users.nik.uni-obuda.hu/kotsis/ab/ab.pdf
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
3. dia
3
Cél
Cél: információ tárolás, feldolgozás, továbbítás.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
4. dia
4
Az információ feldolgozás alapvető módszerei
•Szóbeli
•ÍrásbeliNyomtatott
•Elektronikus
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
5. dia
5
A szóbeli információ feldolgozás
Az információ tárgya akkor, ott nem kell, hogyjelen legyen.
Szóbeli leírás: magas absztrakciós szint.Interaktív.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
6. dia
6
Mit kell tudni?
Forrás: értelmes beszéd.Nyelő: a beszéd értése.
Kicsi különbség.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
7. dia
7
Az írásbeli információ feldolgozás
Az információ szolgáltatás tárgyán kívül annakforrása (az információ „adója”) sem kell, hogy akkor, ott jelen legyen.
Nincs metakommunkáció, nincs interakció : még magasabb absztrakciós szint.Hang nincs, de képek, utalások lehetnek.Nyomtatás: sokakhoz eljut.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
8. dia
8
Mit kell tudni?
Forrás: írás tudás, eszközök használata(stilus, lúdtoll, töltőtoll, írógép).
Nyelő: olvasás tudás.
Nagyobb különbség.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
9. dia
9
Az elektronikus információ feldolgozás
Az eddigieken kívül:A korábbi módszerek határai kitágulnak (telefon, Email).Az információ szolgáltatásnak nem egy forrása van(rádió televízió, internet).
Változatos hangok, képek (mozgók is), interaktív.Alacsonyabb absztrakciós szint.Mindenkihez eljuthat.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
10. dia
10
Mit kell tudni?
Forrás: tv, rádió műsorok készítése; távközlési hálózat tervezése, üzemeltetése; számítógépek hálózatok programozása.
Nyelő: tv, rádió, telefon kezelése; számítógépek, programok használata (ECDL).
Óriási különbség
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
11. dia
11
Összefoglalás
Szóbeli Írásbeli Elektronikus
Absztrakció Hatótávolság Forrás-Nyelő
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
12. dia
12
Szakmai bevezetés
Az információfeldolgozás kezdetei: a Holle-rith gépekA számítógépek kezdeti felhasználási terü-letei. Számítástechnika-Informatika.A mai helyzet: információ = energia?
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
13. dia
13
Az információ feldolgozás alapvető módszerei
•Folyamat szemléletű információ feld.•Adatbázis szemléletű információ feld.•Döntés-támogató rendszerek.•Tudásbázisok (szakértői rendszerek).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
14. dia
14
A folyamatszemléletű információ feldolgozás
cél folyamat állományok
Előnyök:csak a szükséges adatokkal dolgozikoptimális adatstruktúra használható
Hátrányok:többszörös tárolás (inkonzisztencia)csak egy cél
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
15. dia
15
Optimális struktúra
tárolóhely létrehozás
Opt. szemp. feldolgozási idő keresés változtatás felhasználás egyszerűsége
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
16. dia
16
Keresés 1.Egy N elemű file-ban egy rekord keresésének lépései:
SN (A+B+C)
A keresési idő:N Si
TN = Σ pi Σ (Ai,j+Bi,j+Ci,j)i=1 j=1
N
ahol pi az i-edik elem keresésének valószínűsége (Σ pi = 1), i=1
és Si az i-edik elem megtalálásához szükséges lépésszám.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
17. dia
17
Keresés 2.
Fontos a hardware, a tároló szerkezete!
RAM: a címek sorrendje közömbös.
Mozgófejes lemez: pozícionálás, forgás, beolvasás.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
18. dia
18
Keresés 3.
átlagos t időt véve:N
TN = Σ pi ti=1
egyenlő gyakorisággal számolva:
TN = SNt
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
19. dia
19
A keresést meghatározó tényezők
Struktúra
Algoritmus
Pl. rendezetlen esetben lineáris keresés:
SN N/2 S’N N;
ugyanez rendezett esetben:
SN N/2 S’N N/2;
de itt nyilván van jobb módszer is.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
20. dia
20
A legfontosabb állomány struktúrák
• Szekvenciális állomány struktúrák
• Hierarchikus állomány struktúrák;
• Hálós állomány struktúrák;
• Nem konzekutív állomány struktúrák
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
21. dia
21
Fizikai szekvenciális állomány struktúrák
A rekordok logikai és fizikai sorrendje megegyezik.
Keresési módok:
Lineáris keresés
Bináris, logaritmikus keresés
Peterson-féle keresés
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
22. dia
22
Bináris, logaritmikus keresésMinden lépésben hosszra nézve felezzük a vizsgálandó állományt.
SN S’N log2(N)
Heurisztikus bizonyítás:
legyen K olyan, hogy N=2K.
Minden felezésnél Kúj = Krégi –1.
Kúj=0 éppen innen K lépés után lesz, és
K=log2(N)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
23. dia
23
Peterson-féle keresés
Minden lépésben az előfordulás valószí-nűségére nézve felezzük a vizsgálandó állományt.
Egyenletes eloszlás mellett:
AU - AE
A = AE + ------------ * K
KU - KE
ekkor:
SN S’N ½ log2(N)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
24. dia
24
Bináris vs. Peterson keresés
SN a Petersonnál kisebb, de
1. az eloszlás nem feltétlenül egyenletes,
2. Petersonnál valódi osztás kell, a binárisnál a léptetés alkalmazható.
A leggyorsabb, ha N = 2k – 1 alakú.
Ha nem ilyen:
1. két részre osztás
2. kiegészítés álrekordokkal
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
25. dia
25
A fizikai szekvencialitás előnye, hátránya
A keresés lépésszáma kicsi, de a rendezettség biztosítása is időigényes!
1. bonyolult beszúrási algoritmus
2. rendszeres fizikai rendezés
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
26. dia
26
Logikai szekvenciális állomány struktúrák
A rekordok logikai és fizikai sorrendje nem egyezik meg.
Mutatórendszerek (egy- kétirányú, gyűrűs).
Indító tábla.
Dinamikus file-oknál jó: csak mutatókkal kell dolgozni.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
27. dia
27
Példa
Lista 4
Üreshely
2
10 3
6 1 6 *
20 *5
1 2 3
4 5 6
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
28. dia
28
Beszúrás
Lista 4
Üreshely
5
10 2
6 1 6 *
20 *16 3
1 2 3
4 5 6
Új elem: 16
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
29. dia
29
Törlés
Lista 4
Üreshely
20
10 2
6 1 6 *
20 516 *
1 2 3
4 5 6
Törlendő: 20
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
30. dia
30
Hátrányok
A fizikainál ismert keresési algoritmusok nem használhatók.
Mozgófejes lemeznél:
Pozícionálás, forgási idő kell az eléréshez.
Véletlenszerű elhelyezkedésnél C cilinder-nyi anyagnál átlagosan C/3 cilindernyi pozícionálás kell.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
31. dia
31
Csaknem fizikai szekvenciális file
Létrehozáskor fizikai szekvenciálisan elhelyezett logikai szekvenciális file.
Feldolgozáskor logikai szekvenciális.
Túlcsordulási terület a cilinderen.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
32. dia
32
Kupacos keresés 1.
N rekord, G rekord/ csoport, N/G csoport.
2
11
1
GN
G
N
k G
Nk
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
33. dia
33
Kupacos keresés 2.
22
1
2
1
2
1 G
G
NGS G
N
N
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
34. dia
34
Kupacos keresés 3.
A minimum kereséshez G szerint deriválva:
2
12
G
N
Ennek minimum helye: NG
Ebből következően: NS N
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
35. dia
35
Gyakoriság szerint rendezett file
Statikus, dinamikus megoldás.
Önrendező algoritmusok.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
36. dia
36
Hierarchikus struktúrák 1.
Egy megelőző, több rákövetkező (fa).
Nyelvi leírás: COBOL, LISP
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
37. dia
37
Hierarchikus struktúrák 2.
Ábrázolás:
A.) Belső mutatós módszerek
1. Left-list
2. Több pointer
3. Segédrekordok
4. Gyűrűk
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
38. dia
38
Hierarchikus struktúrák 3.
B.) Külső mutatós módszerek
1. Táblázatok
2. Bináris mátrixok
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
39. dia
39
Hálós struktúrák 1.
1. Visszavezetés hierarchikusra.
2. Az ott leírt módszerek?
A.) Belső mutatós módszerek
1. Left-list nem
2. Több pointer igen
3. Segédrekordok nem
4. Gyűrűk nem
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
40. dia
40
Hálós struktúrák 2.
B.) Külső mutatós módszerek
1. Táblázatok igen
2. Bináris mátrixok igen
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
41. dia
41
Nem konzekutív struktúrák
Indexelt szervezés
Direkt szervezés
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
42. dia
42
Indexelt szervezés
1. Sűrű indexelés
2. Ritka indexelés
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
43. dia
43
Sűrű indexelés
Minden rekordhoz tartozik index bejegyzés
Előnyök: több index szervezhető
Hátrányok: nagyok az index file-ok
Mikor lehet gyors a keresés?
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
44. dia
44
Bináris fa I.
12 38 66 93
79
52
27
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
45. dia
45
Bináris fa II.
12
27
38
52
66
79
93
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
46. dia
46
B fákR. Bayer 1970
n a B fa rendje
1. Minden lap legfeljebb 2n tételt tartalmaz.
2. Minden lapon – a gyökér kivételével -legalább n tétel van .
3. Ha egy lapon m tétel van, vagy levéllap, vagy m+1 utódja van.
4. Minden levéllap ugyanazon a szinten van.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
47. dia
47
B fák elérése
A kereséshez szükséges átlagos lépésszám a laphivatkozásoktól függ, ezek száma N elemnél n rendű fában:
lognN
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
48. dia
48
B fa egy lapja
p0 k1 p1 k2 p2. . . . . . . . pm-1 km pm
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
49. dia
49
Másodrendű B fa
25
30,4010,20
2,5,7,8 13,14,15,18 22,24 26,27,28 32,35,38 41,42,45,46
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
50. dia
50
Egy új (22) kulcs beszúrása
20
7,10,15,18 26,30,35,40
20,30
7,10,15,18 22,26 35,40
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
51. dia
51
Egy kulcs (67) törlése
10,22,30,40
13,15,18,20 26,27
10,22,35
5,7,8 13,15,18,20 26,27,30,32
5,7,8 32,35,38 42,67
38,40,42
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
52. dia
52
B+ fák
A gyakorlatban index állományok készítésére az u.n. B+ fákat használják. (Ilyen struktúrát alkalmaz – sok más rendszerrel együtt – az Oracle is.)
A B+ fa egy olyan B fa, melyben azok a pointerek, melyek adatokra (adatok címére) mutatnak, s amelyeket keresünk, valamennyien a levéllapokon helyezked-nek el, így a levéllapok és a többi lap struktúrája különbözik.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
53. dia
53
Ritka indexelés
„Jelző cölöpök” mutatják a rekord helyét.
Rendezettség kell!
Több szintű index rendszer is készíthető.
Gyors elérés, de csak egy szempont szerint.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
54. dia
54
Index-szekvenciális szervezés 1.
A ritka indexelés egy megvalósítása.
A fizikai architektúrának megfelelően:
Sáv; cilinder; fő index.
Index; elsődleges; túlcsordulási terület.
Szervezés: az elsődleges területen fizikai, a túlcsordulási területen logikai szekvenciális szervezés.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
55. dia
55
A tároló felosztása
3170 3240 3500 …
3123 3138 3170
3208 3229 3240
3273 3387 3400 3500
. . .
3412
Sávindex
Elsődlegesterület
Túlcsordulásiterület
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
56. dia
56
Egy rekord (3229) megkeresése
1510 3117 4217 5890 . . .
Főindex
140 710 998 1510
2001 2470 2980 3117
3500 3717 3920 4214
4710 4900 5360 5890
Cilinder index
. . . . . . . . . . . .
Sáv index
3170 3240 3500 . . .
Sávok
3208 3229 3240 . . .
3273 3387 3500 . . .
3123 3138 3170 . . .
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
57. dia
57
Rekordok beszúrása
1 3 15 28
1 3 5 2815
1 3 5 1615
1 2 3 155
1 2 3 155
5
16
2
20
28
28 16
28 16 20
Elsődleges adatterület Túlcsordulásiterület
Újrekordok
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
58. dia
58
Direkt szervezés 1.
Egy leképezést adunk meg a rekord kulcsa (K) és a címe (A) között.
Kívánatos lenne az egy-egy értelműség:
KfA
2121 KfKfKK
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
59. dia
59
Direkt szervezés 2.
Közvetlen leképezés: igen rossz a tárkihasználás.
Hashing algoritmusok: megengedjük, hogy
esetén is – lehetőleg ritkán - előfordulhasson
21 KK
21 KfKf
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
60. dia
60
Két hashing algoritmus
Maradék módszer: M modulus mellett
Csonkítás: a kevés információt hordozó jegyek elhagyása.
MKRA
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
61. dia
61
Szinonímok
A hashing algoritmusok nem egy-egy értel-műek, így szinonimok keletkezhetnek.
Szinonim kezelő módszerek:
Külső láncolás
Belső láncolás
Nyílt (Peterson) módszer
Többszörös hashing
Bucket-ek használata
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
62. dia
62
A külső láncolás
A szinonimokat mutatók kötik össze.
Külön túlcsordulási terület.
Problémák:
Tárkihasználás
Törlés: az elsőt nem lehet törölni.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
63. dia
63
A belső láncolás
A szinonimokat itt is mutatók kötik össze, de azok az (egyetlen) elsődleges terület még nem használt helyeire kerülnek, az eredeti címhez a lehető legközelebb.
A tárkihasználás jó, de másodlagos szinoni-mok keletkezhetnek.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
64. dia
64
A nyílt módszer
A rekordok ugyanúgy helyezkednek el, mint a belső láncolásnál, de nincsenek mutatók.
A keresésnél szükséges lépésszám nagyobb, mint a belső láncolásnál.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
65. dia
65
A többszörös hashing
Ha a leképezés szinonimra vezet, egy má-sikkal próbálkozunk.
(A gyakorlatban két hashing algoritmust, majd a korábban ismertetett módszerek valamelyikét használják.)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
66. dia
66
Bucket-ek használata
E módszernél nem egy-egy rekordnak, hanem egy-egy rekord csoportnak van külön címe.
Kevesebb szinonimkezelésre van szükség, de a csoportokon belül is kell keresnünk.
Hasznos akkor lehet, ha hardware szempontok (szektor) indokolják.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
67. dia
67
Példa szinonímkezelésre
35, 46, 18, 14, 63, 06,75, 85,91, 52.
Leképezés: a 11-el osztás maradéka.
Második: a 7-el osztás maradéka.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
68. dia
68
Példa bucket használatra
21, 32, 71, 14, 83, 72, 43, 51, 02, 11, 93, 44.
Leképezés: 4 bucket-be a második jegy szerint.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
69. dia
69
Összehasonlítás 1.
Az egyes módszerekhez átlagosan szüksé-ges lépésszámot a tényleges (N), és az egyáltalán elhelyezhető (M) rekordszámmal meghatározott A=N/M u.n. kitöltési tényező függvényében vizsgáljuk.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
70. dia
70
Összehasonlítás 2.
Belső láncolásnál sikeres esetben:
AAeA
S AN
4
121
8
11 2
Sikertelen esetben:
AeS AN 21
4
11 2'
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
71. dia
71
Összehasonlítás 3.
Nyílt módszernél sikeres esetben:
Sikertelen esetben:
ASN
1
11
2
1
2
'
1
11
2
1
ASN
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
72. dia
72
Összehasonlítás 4.
Többszörös hashing-nél sikeres esetben:
Sikertelen esetben:
AASN 1ln1
1' 1
ASN
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
73. dia
73
Összehasonlítás 5.
Példaképpen sikeres esetben:
2
22
!1
2
2
11
4
121
8
11
i
iiA
i
AAAAe
A
1
2
2
11...
2
1
2
11
1
11
2
1
i
iAAAA
0
21
1...
3211ln
i
i
i
AAAAA
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
74. dia
74
Összehasonlítás 6.
Sikertelen esetben:
2
2
!
2
4
1121
4
11
i
iA
i
AAe
1
2
2
2
11...
2
31
1
11
2
1
i
iAi
AAA
0
21...11
i
iAAAA
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
75. dia
75
Összehasonlítás 7.
Nem elég a lépésszámot vizsgálni, hisz az egyes lépések időigénye módszerenként más.
Figyelembe kell venni a hardware adottságokat is.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
76. dia
76
Összehasonlítás 8.
Gyors véletlen elérésű (pl. RAM) tárolónál:
TH: nagy algoritmusidő.
NyM: több lépés mint BL-nél.
BL: másodlagos szinonimok miatt több lépés, mint KL-nél.
KL: leggyorsabb, de rossz tárkihasználás.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
77. dia
77
Összehasonlítás 9.
Mozgófejes tárolónál:
TH, KL: sok fejmozgás.
NyM: több lépés mint BL-nél.
De NyM-hez nem kell CPU, így a leggyorsabb lehet.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
78. dia
78
Alapelv
A rendelkezésre álló adatokból indulunk ki, az „összes” adatot (entity) és a közöttük fennálló „összes” kapcsolatot (relationship) egy integrált adatbázisba gyűjtjük, és vala-mennyi felhasználó valamennyi kérdéséhez ezt az adatbázist (vagy ennek egy részét) használhatja.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
79. dia
79
Adatreprezentáció
Az „összes adat” egy „mini világra” vonat-kozik.Ennek leírása több szintű:
konceptuális (magas szintű),implementációs (reprezentációs), fizikai modell.
Az egyes felhasználói nézetek (view-k) az adatbázisnak csak egy részét látják.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
80. dia
80
A leképezések (mapping-ek)
1.nézet 2.nézet 3.nézet
Konceptuális modell
Implementációs modell
Fizikai modell
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
81. dia
81
Egyed-kapcsolat leírások
Az alapvetően használt modell az egyed-kap-csolat (entity-relationship), azaz ER modell.Az egyedeknek tulajdonságaik (attribute) vannak, ezek egyike, vagy ezekből egy készlet az egyedet egyértelműen azonosító kulcs.A kapcsolatok lehetnek 1:1, 1:n, m:n jellegűek.A kapcsolatokat sokszor egyedhalmazzá alakítjuk (kapcsoló rekord: a kapcsolat mint egyed).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
82. dia
82
Adatbázis felügyelő
Több felhasználó: védeni kell tőlük a rend-szert, és őket egymástól.Ez az adatbázis felügyelő (data base administrator) egyik feladata.
Tervezés: séma, alséma készítés.Eszköz: DDL.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
83. dia
83
Adatfüggetlenség
Logikai: az adatok logikai struktúrájában (konceptuális, implementációs modell) történő változtatás ne érintse az ezen változtatást nem igénylő felhasználók munkáját.
Fizikai: a fizikai modell változtatása ne kény-szerítse ki az implementációs modell változtatását.
A kettő együtt az adatfüggetlenség.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
84. dia
84
Tervezési szempontok
Kapcsolat múlttal, jövővel.Biztonság, titkosság, pontosság.Konkurrens folyamatok kezelése.Válaszidő.Kényelmes használat.Költségek.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
85. dia
85
Várakozási gráf
T1 T2 T3
E1 E2
E3
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
86. dia
86
Az ABF üzemeltetési feladatai
Mentések, karbantartás.
Kapcsolattartás a felhasználóval.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
87. dia
87
A DML
A felhasználó eszköze.
Többféle felosztás:
1. Alkalmazott nyelv szerint:
Host language
Self Contained Language
2. A felhasználás jellege szerint:
Procedurális
Deklaratív
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
88. dia
88
Host Language (Beépített, beágyazott nyelvű) rendszerekEgy korábban ismert magas szintű nyelvet használnak.
Megoldások:
Eljárás gyűjtemények könyvtárban.
Eljárás gyűjtemény előfordítóval.
Eljárás gyűjtemény interpreterrel.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
89. dia
89
Self Contained (Önálló) nyelvű rendszerek
Lehet külön programozható nyelv.
Lehet, csak paraméterezendő rendszer.
Lehet 4GL fejlesztő rendszer.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
90. dia
90
Procedurális rendszerek
Egy lépésben egy rekordot dolgoznak fel (record-in-time feldolgozás).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
91. dia
91
Deklaratív rendszerek
Egy lépésben egy meghatározott tulaj-donságú halmazt (pl. egy táblázatot) dolgoznak fel( set-in-time rendszerek: ilyen pl. az SQL).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
92. dia
92
Az OS és az ABKR
ABF
OS ABKRAB
FELH
DDLDML
DML
ÓHAJOK
SZABÁLYOK
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
93. dia
93
Egy lekérés folyamata
OS
ABKR S AS1 AS2 …
FHP1 FHP2 …
FHM1 FHM1 …
SB
…
1
2
3
45
6
7
8
9
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
94. dia
94
Alapvető ABKR modellek (approach)
1. Hierarchikus
2. Hálós (CODASYL, DBTG)
3. Relációs
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
95. dia
95
A hierarchikus modell I.
A legelső modell, ma már nem használják.Az adatokat fákban tároljuk, ahol a fák egy-egyszögpontja a szegmens (segment) adatokat és atovábbi szegmensekre utaló mutatókat tartalmaz.A fák gyökérelemei hagyományos állományokbavannak szervezve. Az egyes nézetek a számukraérzékeny szegmenseket (sensitive segment) látják.Jellegzetes képviselője az IMS (IBM).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
96. dia
96
A hierarchikus modell II. (IMS)
R1 R2 . . . Rn
S1
S2 S3
… . . .
Gyökérfile
Szegmensek
Rn-1
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
97. dia
97
A hierarchikus modell tulajdonságai
Igazi ABKR, hisz többfelhasználós, az egyesfelhasználók nem ugyanazt látják.Nem igazi ABKR, mert a lekérdezés hatékonyságaerősen függ az adatstruktúrától.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
98. dia
98
Lehetséges struktúrák egy hierarchikus modellben
AUTÓ
T1 T3T2
TUL.
A1 A3A2
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
99. dia
99
A hálós modell 1.
A CODASYL bizottság által létrehozott DBTG (Data Base Task Group) jelentései (1969-1971) hozták létre.Két évtizedig szinte kizárólag ezt használták.Terminológiai és metodológiai javaslatokat tartal-maz.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
100. dia
100
A hálós modell 2.
Már bevezetett fogalmak:DDLDMLsémaalséma.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
101. dia
101
A hálós modell 3.
Új fogalmak:Area: valamilyen szempontból egységesen
kezelendő adathalmaz.Set: kétszintű fa, melynek gyökéreleme a
tulajdonos (owner), levelei a tagok(members).
A set-ek segítségével a legbonyolultabb hálóskapcsolatok is leírhatók.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
102. dia
102
Példa SET-ekre
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
103. dia
103
Kapcsolatok hálós modellben 1.
Kiss TóthNagy …
Angol OlaszNémet
K1 K2 K3 K4 K5 …
…
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
104. dia
104
Kapcsolatok hálós modellben 2.
Kiss Nagy …
AB-123
1998.02.01.2000.06.05.
…
…CD-456 EF-789
2000.06.05.?
2000.06.05.?
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
105. dia
105
Séma hálós modellben
Séma név.Zárak, kulcsok.Rekord leírások (kalkulált mezők, kódolt mezők).Kapcsolat leírások: SET-ek.AREA leírások.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
106. dia
106
Alséma hálós modellben
A séma leírás valódi része.Újdonság nem szerepelhet, de mindent át lehet nevezni.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
107. dia
107
Lekérdezés hálós modellben
Az eredeti javaslat a COBOL nyelvet javasolta (BATCH feldolgozás!), ezt váltotta fel a PL1, majd az interaktív felhasználás.
Fontos reprezentáns: IDMS (IBM 360 és 370: ESzR 1. és 2.).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
108. dia
108
Az IDMS specialitásai
Member-ek rendezése.Indexek készítése.Hashing algoritmus haználata.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
109. dia
109
A relációs modell 1.
A relációs modell ötlete Codd 1970-es cikkéből származik, így lényegében egyidős a DBTG jelentéssel. Két évtized után átvette a vezető szerepet, ma szinte kizárólag ezt használják, ezért ezt vizsgáljuk részletesen.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
110. dia
110
A relációs modell 2.
A reláció ebben az értelemben tulajdonképpen egytáblázat (table).A táblázat oszlopai a tulajdonságok (domains), asorai az n-esek (tuples).Gyakran nevezik azonban a sorokat rekordnak,az egyes oszlopokhoz tartozó értékeket mezőnek(field).Az R reláció sorainak hosszát r-el jelöljük.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
111. dia
111
Alapfeltételek relációkkal kapcsolatban
1. Ne legyenek teljesen megegyező tartalmú sorokvagy oszlopok,
2. a sorok és az oszlopok sorrendje ne hordozzoninformációt.
Azt a mezőt, vagy mezőkészletet, mely a sort (asor többi elemét) egyértelműen meghatározza,szuperkulcsnak nevezzük. A nem szűkíthetőszuperkulcs neve kulcs. (1. miatt van ilyen.)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
112. dia
112
Anomáliák
1. Módosítási anomáliaegy attribútum értéke több helyen szerepel, ígytöbb helyen kell módosítani (inkonzisztencia).
2. Beírási anomáliahiányos adatok miatt valamit nem lehet bevinni(információvesztés).
3. Törlési anomáliaegy sor törlésével olyan információ is elvész,amire még szükség lenne (információvesztés).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
113. dia
113
Példa anomáliákra
Egy reláció oszlopai:Tantárgyszám, tantárgynév, követelmény,oktatónév, oktatócím
• Változtassuk meg az oktató címét.• Mi történik, ha egy új tárgyhoz nincs oktató
kijelölve?• Mi történik, ha egy oktató kilép?
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
114. dia
114
Az anomáliák kiküszöbölése
A felsorolt anomáliák kiküszöbölhetők, arelációk olyan felbontásával (dekompozíció),melyek eredményei normalizált relációk.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
115. dia
115
1. Normálforma
A reláció 1NF értelemben normalizált, haminden sorának minden mező értéke egy elemiérték.
(Újabb rendszerek lehetővé teszik a figyelmenkívül hagyását.)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
116. dia
116
2. Normálforma
A reláció 2NF értelemben normalizált, ha 1NFértelemben normalizált, és ha egy mezőértékmeghatározásához összetett kulcs szükséges,egy másik mezőérték meghatározásához nemelegendő ennek egy része.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
117. dia
117
Példa 2. normálformára
cikkszám, ár, szállítási sorszám, cikkleírás
Anomália: ha az utolsó sort töröljük, elvész acikkszám, cikkleírás közötti összefüggés.
Ok: az ár azonosításához szükséges a cikkszám,szállítási sorszám összetett kulcs, a cikkleírásmeghatározásához elég a cikkszám.
Megoldás: dekompozíció.cikkszám, cikkleíráscikkszám, ár, szállítási sorszám
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
118. dia
118
3. Normálforma
A reláció 3NF értelemben normalizált, ha 2NFértelemben normalizált, és ha egy mezőértéksem függ olyan attribútum értéktől, vagy ezekolyan halmazától, mely nem kulcs.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
119. dia
119
Példa 3. normálformára
rendszám, gyártmány, típus, gyártási idő, szín
Ha egy időben csak egy színt használnak,törléskor elvész a gyártási idő és a szín közöttiösszefüggés.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
120. dia
120
Boyce-Codd (BCNF) normálforma
A 3NF tovább gondolása (3.5NF).A reláció BCNF értelemben normalizált, ha3NF értelemben normalizált, és ha egy összetettkulcs egy részét sem határozza meg másattribútum érték (nincs kulcstörés).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
121. dia
121
Példa BCNF normálformára 1.
tantárgy, tanár, diák
Tegyük fel, hogy egy tanár csak egy tárgyat oktat.Mi legyen a kulcs?
Egyszerű kulcs nem egyértelmű.tantárgy, tanár nem határozza meg a diákottanár, diák nem 2NF (a tanár meghatározza atantárgyat).tantárgy, diák nem BCNF (a tanár meghatá-rozza a tantárgyat).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
122. dia
122
Példa BCNF normálformára 2.
Anomália: törléskor eltűnik, hogy egy tanármilyen tárgyat tanít.
Megoldás: dekompozíció
tantárgy, tanártanár, diák
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
123. dia
123
Többértékű függőség
Az A1A2...AnB1B2Bm
többértékű függőség fennáll, haaz R reláció soraiból tekintve azokat, melyekminden Ai értéken megegyeznek, ezek Bj-kenfelvett értékei függetlenek az A-któl és B-ktőlkülönböző attributumok értékeitől.
A többértékű függőség nem triviális, ha 1. egyik B sincs az A-k között,2. az A-k és a B-k együttesen sem tartalmazzák R
összes atribútumát.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
124. dia
124
4. Normálforma
Egy reláció 4NF-ben van, ha valahányszor azA1A2...AnB1B2Bm nem triviális többértékű
függőség fennáll, akkorA1A2...An szuperkulcs.
Ha a reláció 4NF, akkor BNCF is.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
125. dia
125
Példa többértékű függőségre I.Pl. legyenek az R reláció oszlopai:
Tanár Tantárgy Kar
Egy tanár több tárgyat taníthat, egy tárgyattöbben taníthatnak, egy tárgyat több karontanítanak, egy karon több tárgyat tanítanak.
TanárTantárgy és TantárgyKar fennáll, ésnem triviális.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
126. dia
126
Példa többértékű függőségre II.
Tanár Tantárgy Kar...
Nagy AB KGKNagy AB NIKKiss PPT NIK
...BCF, de nem redundancia mentes:pl. egy Tanár Tantárgy bejegyzés többször is
előfordulhat.Tanár Tantárgy nem szuperkulcs, azaz nem 4F.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
127. dia
127
Példa többértékű függőségre III.
Megoldás itt is a dekompozíció:Tanár Tanfolyam Tanár KarTárgy Kar
Vigyázat:Tanár TárgyTanár Kar
nem jó, mert elvész, hogy melyik tanár melyikkaron mit tanít.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
128. dia
128
További normálformák
Létezik 5NF, de kisebb jelentősége miatt nemfoglalkozunk ezzel.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
129. dia
129
A lekérdezés elve relációs rendszerekben
1. relációs algebra2. relációs kalkulus
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
130. dia
130
A relációs algebra 1.
Alapműveletek:1. Unió: RS2. Különbség: R-S3. Direkt szorzat: RS4. Projekció: i1,i2...ik (R)5. Szelekció: F (R)
ahol: Az F feltétel az [i] [j], és az [i] c elemikifejezések logikai műveletekkel (, , ) valóösszekötéséből állhat. tetszőleges összeha-sonlító operátort (=, , , , , ) jelenthet.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
131. dia
131
A relációs algebra 2.
Következmény műveletek:6. Metszet: RS
R S = R - (R - S)7. Hányados: R S
Feltesszük, hogy r > s, és s 0.)LegyenT = 1,2, ... r-s (R), továbbáV = 1,2, ... r-s ((T S)-R).Ekkor belátható, hogyR S = T - V.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
132. dia
132
A relációs algebra 3.
8. Belső kapcsolat (inner join)8a. Feltételes kapcsolat ( join):
R * S = [i] [r+j](R S)[i] [j]
8b. Természetes kapcsolat (natural join): R * SHasonló a feltételes kapcsolathoz de itt aszelekció feltétele az, hogy az azonos nevűoszlopokban azonos érték szerepeljen.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
133. dia
133
A relációs algebra 4.
9. Külső kapcsolat (Left, vagy Right Outer join):Tképpen egy join, de a szelekció valamelyikrelációból azokat a sorokat is meghagyja,melyekhez a másikban nem tartozik érték (itt aNULL érték fog szerepelni).
9a. Left Outer JoinA baloldali reláció minden sora legalábbegyszer szerepel.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
134. dia
134
A relációs algebra 5.
9b. Right Outer JoinA jobboldali reláció minden sora legalább egyszer szerepel.
9c. Full Outer JoinEgy Left- és egy Right Outer Join uniója.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
135. dia
135
Példa relációs algebrai műveletekre 1.
a b c da b e fb c e fe d c de d e fa b d e
R =
Számoljuk ki az R S művelet eredményét!
c de fS =
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
136. dia
136
Példa relációs algebrai műveletekre 2.
1 2 34 5 67 8 9
R =
Számoljuk ki az R * S művelet eredményét!B<D
A B C
3 16 2
S =
D E
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
137. dia
137
Példa relációs algebrai műveletekre 3.
a b cd b cb b fc a d
R =
Számoljuk ki az R * S művelet eredményét!
A B C
b c db c ed d b
S =
B C D
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
138. dia
138
Példa relációs algebra alkalmazására 1.
Tekintsük az alábbi három relációt.a.) Autók: jele A
Mezői: rendszám, gyártmány, típus, szín, ......b.) Emberek: jele E
Mezői: szemszám, név, foglalkozás, cím, .....c.) Kapcsolat: jele K
Mezői: forgrsz, szemszám.
Feladat: keressük ki a sárga opelek tulajdonosai-nak foglalkozását.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
139. dia
139
Példa relációs algebra alkalmazására 2.
A megoldás:
R1 = szín =sárga típus = opel (A)R2 = rendszám (R1)R3 = R2 * K
rendszám=forgrsz
R4 = szemszám (R3)R5 = R4 * ER6 = foglalkozás (R5)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
140. dia
140
Példa relációs algebra alkalmazására 3.
A megoldás egy lépésben:
f(szsz(K* (rsz (sz =sárga t = opel (A)))) * E)fsz=rsz
(foglalkozásf, szemszám szsz, forgrsz fsz,rendszám rsz, szín sz, típus t helyettesí-téssel).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
141. dia
141
A relációs kalkulus 1.
Létezik sor- és oszlopkalkulus, mi csak az előb-bivel foglalkozunk.A kalkulus az alábbi alakú kifejezésekből áll:
t (t)
melynek jelentése: azok a t sorok, melyek ki-elégítik a (t) függvényt, azaz amelyekre a (t)függvény értéke igaz.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
142. dia
142
A relációs kalkulus 2.
Atomi formulának, vagy atomnak nevezzük, azalábbi kifejezéseket:
1.) R(s) (azaz az s sor R relációbeli),2.) s[i] u[j] (ahol s[i] az s-edik sor i-edik ele-
mét, u[j] az u-adik sor j-edik e-lemét jelenti, a szokásos össze-hasonlító operátor),
3.) s[i] c (ahol c egy konstans).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
143. dia
143
A relációs kalkulus 3.
A (t) függvény, melyet formulának nevezünk,az alábbiak szerint épülhet fel:
1.) Minden atom formula.2.) A formulákból a , , logikai műveletekkel
képezett kifejezések is formulák.3.) A (s)() alakú (van ilyan s, hogy igaz)
kifejezések is formulák.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
144. dia
144
A relációs kalkulus 4.
4.) A (s)() alakú (minden s olyan, hogy igaz)kifejezések is formulák.
5.) A kifejezések a precedencia (, , , , , )megváltoztatása érdekében zárójelezhetők.
6.) Más formula nincs.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
145. dia
145
A relációs algebra és kalkulus összehasonlítása 1.
A relációs algebra alapműveletei kifejezhetők arelációs kalkulus eszközeivel.
Unió: t R(t) S(t)Különbség: t R(t) S(t)Direkt szorzat: t(r+s) (u(r)) (v(s))(R(u) S(v)
t[1]=u[1] … t[r]=u[r] t[r+1]=v[1] … t[r+s]=v[s]
Projekció: t(k) (u)(R(u) t[1]=u[i1] … t[k]=u[ik]
Szelekció: t (R(t) F
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
146. dia
146
A relációs algebra és kalkulus összehasonlítása 2.
t R(t)értelmetlen, de nem írható le a rel. algebrában.
DOM fv.:A DOM() azon elemek halmaza, melyek
közvetlen, vagy közvetett módon -t alkotják.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
147. dia
147
A relációs algebra és kalkulus összehasonlítása 3.
Biztos kifejezések:1. Ha t kielégíti (t)-t, t minden komponense
DOM()-beli.2. minden (u)((u)) alakú részkifejezésére, ha
u kielégíti (u)-t minden komponenseDOM()-beli.
A rel. kalkulus biztos kifejezései ekvivalensek arel. algebra kifejezéseivel.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
148. dia
148
Lekérdezés relációs rendszerekben 1. (ISBL)
Korai IBM termék.Lényegében a relációs algebra kifejezéseinek
linearizálása.Nem felhasználóbarát.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
149. dia
149
Lekérdezés relációs rendszerekben 2. (QBE)
IBM termék.Tábla vázakat (skeleton) használ, ezeket vek-
torváltozók segítségével lehet összekapcsolni.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
150. dia
150
Példa QBE-re 1.
AUTÓK
OPELSÁRGA
gym. szín . . .rendsz.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
151. dia
151
Példa QBE-re 2.
X
AUTÓK
OPELSÁRGA
gym. szín . . .rendsz.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
152. dia
152
Példa QBE-re 3.
X
AUTÓK
OPELSÁRGA
gym. szín . . .
X Y
frsz. sz.sz. . . .
KAPCSOLAT
rendsz.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
153. dia
153
Példa QBE-re 4.
X
AUTÓK
OPELSÁRGA
rendsz.
gym. szín . . .
X Y
frsz. sz.sz. . . .
KAPCSOLAT
Y
EMBEREK
Kiss tanár
… …
rendsz.
név fogl. . . .sz.sz.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
154. dia
154
Lekérdezés relációs rendszerekben 3. (SQL)
Structured Query LanguageTöbb részből áll:1. DDL2. DCL3. DML4. Query
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
155. dia
155
SQL verziók1989 SQL1
1992 SQL2HibakódokAdattípusokAdatbázis struktúrákRendszertáblákProgramozható felületPortabilitás
Az SQL3-ról később lesz szó.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
156. dia
156
DDL
CREATE TABLEALTER TABLEDROP TABLE
CREATE VIEWDROP VIEW
CREATE [UNIQUE] INDEXDROP INDEX
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
157. dia
157
DDL példa I.
(A példák az érdekesség kedvéért nem az ORACLE, hanem MYSQL rendszerből valók.)
Create Database kutya;
…
Drop Database kutya;
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
158. dia
158
DDL példa II.
CREATE TABLE táblanév ( oszlopnév
oszlopleírás , …
esetleg index definíció
)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
159. dia
159
Kulcsok legfontosabb jelzői
Táblánként max egy mező lehet
• PRIMARY KEY
egyedi, nem lehet NULL értékű. Gyakran
egy (előjel nélküli) egész.
• AUTO_INCREMENT
automatikusan nő.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
160. dia
160
Minta tábla létrehozása
CREATE TABLE allatok (nev varchar(25),fajta varchar(20),szex char(1),szuld date,hald date );
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
161. dia
161
Minta tábla változtatása
ALTER TABLE allatok
ADD COLUMN
sorszam Integer Unsigned Primary Key Auto_Increment FIRST
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
162. dia
162
DCL
Tranzakció kezelés:COMMITROLLBACKLOCKUNLOCK
Jogosítvány kezelés:GRANT …. WITH GRANT OPTIONREVOKE
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
163. dia
163
DCL példa I.
GRANT jogok
ON adatbázisnév[,táblanév] TO felhasználó@ host IDENTIFIED BY ” jelszó”
WITH GRANT OPTION
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
164. dia
164
DCL példa II.
REVOKEjogok [, GRANT OPTION] ON adatbázisnév[.táblanév] FROM felhasználó@ host
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
165. dia
165
Tranzakciók
BEGIN WORK-el kezdődik,
COMMIT-al vagy
ROLLBACK-al végződik.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
166. dia
166
DML
INSERTUPDATEDELETE
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
167. dia
167
Insert
INSERT INTO allatok VALUES
(’Sajti’, ’eger’,’n’,’2004-02-02’,NULL);
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
168. dia
168
Update
UPDATE allatokSETnev=’kukac’WHERE nev = ’giliszta’
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
169. dia
169
QUERY
A SELECT utasítás valósítja meg. Legegyszerűbb formája:
select [distinct] oszlopnevek from táblanevek
[where feltétel]
[order by rendezési feltétel]
[group by feltétel [having having- feltétel]]
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
170. dia
170
Select
SELECT nev, szuld FROM allatok
WHERE faj =’kutya’ OR faj =’macska’ ORDER BY szuld DESC
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
171. dia
171
Keresés egymásba ágyazott SELECT-ek esetén
A WHERE részben alkalmazható újabb SELECT klauzula:
1. [NOT] IN (selectkifejezés)
2. Θ[ANY|ALL] (selectkifejezés)
3. [NOT] EXISTS
Több SELECT esetén a kiszámítás belülről kifelé történik.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
172. dia
172
Beágyazott (embedded) SQL I.
1. EXEC SQL <beágyazott SQL utasítás>
2. Változók használata V:V
3. Vezérlés:
NOT FOUND GO TO cimke WHENEVER SQL WARNING CONTINUE
SQL ERROR STOP
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
173. dia
173
Beágyazott (embedded) SQL II.
Egyetlen sort eredményező lekérdezések:
A SELECT utasításban rendszerint azINTO :változónév szerepel
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
174. dia
174
Beágyazott (embedded) SQL III.
Több sort eredményező lekérdezések:
Egy sormutatót (CURSOR) kell deklarálni, ezzel lehet a sorok között lépegetni (NEXT, PRIOR).
A CURSOR használatával módosítani is lehet a sorokat.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
175. dia
175
Beágyazott (embedded) SQL IV.
Dinamikus SQL
A fordításkor még (részben) nem ismert SQL utasítások.
PREPARE
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
176. dia
176
4GL program generátorok
1. FORM (űrlap)
2. REPORT (jelentés)
3. MENU
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
177. dia
177
Adatbázis kezelő architektúrák
Három fő rész:1.) Data processing (fizikai adatkezelés).2.) Business logic (adatvédelem és –integri tás,
tranzakció kezelés, stb.).3.) User interface
Hol helyezkednek el?
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
178. dia
178
Kliens-szerver architektúra
DP BL BL UI
Adatbázis szerver Kliens alkalmazás
AB
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
179. dia
179
Többrétegű architektúra
DP BL UI
Adatbázis szerver „Sovány” („Thin”)kliens alkalmazás
AB
Középső réteg(middle-tier)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
180. dia
180
Tárolt rutinok
A szerveren tárolódik és hajtódnakvégre.
CREATE PROCEDURE procnév(IN|OUT | INOUT parnév partípus)törzs
CREATE FUNCTION funcnévRETURNS rettípusIN | OUT | INOUT parnév partípus)törzs
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
181. dia
181
Tárolt rutinok hívása
PROCEDURE eseténCALL procnév(paraméterek)
FUNCTION eseténkifejezésben használható(a RETURN utáni érték tér vissza)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
182. dia
182
Utasítások tárolt rutinban 1.
BEGIN … ENDtöbb utasítást összefog
DECLARE varnév típus
[DEFAULT érték]A begin-end között él.
SET varnév=kifejezés
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
183. dia
183
Utasítások tárolt rutinban 2.
SELECT oszlopnév INTO varnév táblakifCsak egy sor!
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
184. dia
184
Vezérlés tárolt rutinban 1.
IF feltétel THEN utasítások [ELSEIF feltétel THEN utasítások] …
[ELSE utasítások]END IF
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
185. dia
185
Vezérlés tárolt rutinban 2.
CASE case_érték
WHEN feltétel THEN utasítások [WHEN feltétel THEN utasítások] …
[ELSE utasítások]END CASE
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
186. dia
186
Vezérlés tárolt rutinban 3.
CASE
WHEN feltétel THEN utasítások [WHEN feltétel THEN utasítások] …
[ELSE utasítások]END CASE
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
187. dia
187
Vezérlés tárolt rutinban 4.
[kezdőcimke:] LOOPutasításokEND LOOP [végcimke]
LEAVE cimke
ITERATE címke
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
188. dia
188
Vezérlés tárolt rutinban 5.
[kezdőcimke:] REPEATutasításokUNTIL feltételEND REPEAT [végcimke]
[kezdőcimke:] WHILE feltétel DOutasításokEND WHILE [végcimke]
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
189. dia
189
Kurzorok tárolt rutinban
DECLARE curnév CURSOR FOR select_utváltozó deklaráció után!
OPEN curnév
FETCH curnév INTO
varnév CLOSE curnév
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
190. dia
190
Triggerek
CREATE TRIGGER név idő eseményON táblanév FOR EACH ROWutasítás
Idő: BEFORE | AFTEREsemény: INSERT | UPDATE | DELETETöbb utasítás BEGIN… END
Változtatásnál OLD.oszlopnév ésNEW.oszlopnév használható
DROP TRIGGER tábla.név
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
191. dia
191
Osztott adatbázisok
Megnövekedett a kommunikációs költségek rész-aránya. Javaslat: helyezzük az adatokat a fel-használóhoz közel.Osztott (distributed) adatbázis:fizikailag megosztott, de logikailag egységesadatbázis.
Adatbázis felügyelet: központi, csomóponti.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
192. dia
192
Osztott adatbázisok előnyei1.) A kommunikációs költségek csökkenése.2.) Mindenki a számára ismerős adatokat gon-
dozza.3.) Egy-egy csomópont kiesése esetén a többi
adatai továbbra is elérhetőek.4.) Lehetséges a moduláris tervezés, a rugalmas
konfigurálás.5.) Hosszabb idő alatt a rendszer gépei akár ki is
cserélhetők.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
193. dia
193
Osztott adatbázisok hátrányai
1.) A rendszer bonyolultabb és sebezhetőbb lesz,2.) Nem könnyű minden csomópontra egyformán
jó személyzetet találni, másrészt, ha találunkfenyeget a szuboptimalizáció veszélye.
3.) Mindig valamennyi gépnek működnie kell.4.) Többféle hardvert és szoftvert kell a rend-
szernek kezelnie és "összehoznia".5.) Bonyolult a jogosultságok ellenőrzése.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
194. dia
194
Osztott adatbázisok konzisztenciája
Külön problémát jelent, ha feladjuk a redun-dancia-mentesség elvét. Erre okot szolgáltathat azis, ha nem eldönthető egy-egy adatról, hogy holhasználják legtöbbet, de biztonsági okokból isdönthetünk egy-egy adat többszörözése mellett.Ilyen estekben biztosítanunk kell, hogy az egyespéldányok tartalma azonos legyen, azaz arendszer konzisztens maradjon.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
195. dia
195
Elemzések
1. Forrás nyelő elemzés
A használat gyakorisága, módja.
2. ABC elemzés
A „nélkülözhetetlenség” foka.
3. Érzékenység elemzés
A költség/teljesítmény arány.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
196. dia
196
Konzisztencia, konvergencia
Létezik
• Erős konzisztencia
• Gyenge konzisztencia
Koherencia: a konzisztencia mérő száma, mely erős konzisztenciánál azonosan 1 értékű, gyenge konzisztenciánál pedig 1-hez tart.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
197. dia
197
Szinkronizációs protokollok
A. Központosított protokollok
a.) A központi zárellenőrzés
b.) A zseton módszer
c.) Az elsődleges példány módszer
B.) Osztott protokollok
Az időbélyeg módszer
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
198. dia
198
Adatvédelem
a.) Fizikai védelem
b.) Ügyviteli védelem
c.) Algoritmikus védelem
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
199. dia
199
Algoritmikus védelem
a.) felhasználó azonosítás, partner azonosí-tás
b.) hozzáférés védelem
c.) rejtjelezés
d.) üzenethitelesítés
e.) digitális kézjegy
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
200. dia
200
Rejtjelezés
y = E(x) x = D(y)
Legyen „megfejthetetlen”.
Mivel sok kell, legyen:
y = E(kr,x) x = D(kf, y)Védetlen közeg
Védetlen közeg
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
201. dia
201
A rejtjelezés felosztása
1. Konvencionális a rejtjelezés, ha a rejtő kulcsból a fejtő kulcs meghatározható.
2. Nyílt (nyilvános ) kulcsú a rejtjelezés, ha rejtő kulcsból a fejtő kulcs nem határozható meg.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
202. dia
202
A konvencionális kódolás
a.) Helyettesítés
b.) Periodikus helyettesítés
c.) Kulcsfolyam(at)os rejtés
d.) Rejtjelötvözés vagy keverő transzformációk
(Shannon, 1949)
Lucifer (128 bites blokk, 128 bites kulcs)
DES (64 bites blokk, 56 bites kulcs )
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
203. dia
203
A nyilvános (rejtő) kulcsú kódolás
a.) MIT módszer (prímfelbontás).
b.) Merkle-Hellmann módszer (hátizsák problé-ma).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
204. dia
204
Kulcsgondozás
Ha a kulcsok megfelelő védelme nembiztosított, az egész kódolási rendszerértelmetlen. A kulcsok gondozása háromfeladatból áll.
a.) kulcsgenerálás
b.) kulcskiosztás
c.) kulcstárolás
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
205. dia
205
Kulcsgenerálás
Az a művelet, melynek eredményeképpen akulcsok előállnak. Egy valódi véletlenszámgenerátor segítségével végrehajtható.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
206. dia
206
Kulcskiosztás
Példák:
a.) Alapkulcsok
b.) Merkle „rejtvény” módszere
c.) A "hatványozós" módszer
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
207. dia
207
Alapkulcsok
A kulcsok kiosztása történhet egy alapkulcskészleten keresztül, melyet rendszeren kí-vüli eszközökkel juttatnak el a résztvevők-höz. Az alapkulcsokat, melyek gyakrannyilvános kulcsú rendszerhez tartoznak,csak a kulcsok cseréjéhez használják.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
208. dia
208
Merkle „rejtvény” módszere
A hívó fél n db (Ki, Ii) párt küld partneré-nek gyengén kódolva. Ez egyet kiválaszt, fel-töri, és Ii-t visszaküldi. Ezzel a kommuni-káció kulcsa meghatározott. A behatolónakátlagosan a párok felét kell ahhoz feltörnie,hogy megtudja, Ii-hez melyik Ki tartozik.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
209. dia
209
A "hatványozós" módszer 1.
A módszer alapja, hogy az i és a j felhasználókitalál egy-egy xi ill. xj számot.
Egymás között kicserélik az
Yi = xi (mod p),
ill. az
Yj = xj (mod p)
számokat (p prímszám, a p elemű véges test egyprimitív eleme).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
210. dia
210
A "hatványozós" módszer 2.
A a kommunikáció kulcsa a
K = xi * xj
szám (vagy annak valamilyen függvénye)lehet. Ennek előállítása mellett Yj és xi
vagy Yi és xj ismeretében egy egyszerűhatványozást igényel, a behatolónak vi-szont a diszkrét logaritmusképzés afeladata.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
211. dia
211
Kulcstárolás
Nehézségeket okozhat, ha a kulcsokat akár túlkevés, akár túl sok ember ismeri.
Megoldást jelentenek az u.n. (n,k)küszöbrendszerek. E rendszerek lényege, hogya kulcsot n db. (nem feltétlenül diszjunkt)részre osztva, bármelyik k kulcsrészletből akulcs előállítható, de nincs olyan k-1 kulcs-részlet, amiből ez megtehető lenne. Ilyenküszöbrendszerek készítésére többmatematikai módszer is rendelkezésünkre áll.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
212. dia
212
Felhasználó azonosítás
Személy azonosítás:
a.) jelszóvédelem
b.) fizikai azonosító használata
c.) személyi jellemzők
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
213. dia
213
Partner azonosítás 1.
A számítógép-számítógép kapcsolatokban isszükség lehet azonosításra. E célra fenntart-hat minden számítógép pár egy-egy kulcsot,ez azonban egy n elemű hálózatnál n2 kul-csot jelent. Folyhatnak az információcserékvalamilyen hitelesítő központon keresztül, ezazonban a kommunikáció költségét növelijelentősen.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
214. dia
214
Partner azonosítás 2.Megoldás:ha minden csomópont egy, csak a
hitelesítő központ által ismert kulccsal tud eközponthoz bejelentkezni, s üzenet továbbításiigényét bejelente-ni. A központ jelöli ki akommunikáció kulcsát, melyet a fenti kulccsalkódolva a hívónak visszaküld. Emellett küldegy csomagot, mely a hívandó fél kulcsávalkódolva tartalmazza a kommunikáció kulcsát,s a hívó megjelölését. Ha a hívó e csomagot ahívott félhez továbbítja a párbeszéd kettejükközött folytatódhat, s az azonosítás is kielégítőbiztonsággal történt meg.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
215. dia
215
Hozzáférésvédelem
Nem elegendő kiszűrni a jogosulatlan behato-lókat, a rendszernek azt is számon kell tar-tania, hogy a jogos felhasználók hatásköre mi-re terjed ki. A felhasználó által működtetettügynök folyamatok hatáskörét a hozzáférésimátrix szabja meg. Ennek elemeit akár ügynö-kökhöz, akár adatokhoz kötötten tárolhatjuk.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
216. dia
216
Üzenethitelesítés
Az üzenetek hitelesítéséhez két feltétele van,egyrészt ellenőrizni kell, hogy egy-egyblokkban az és csak az érkezett-e a címzetthezamit a feladó feladott, másrészt tudnunk kellazt is, hogy az egyes blokkok abban a sor-rendben érkeztek e meg amilyenben feladtákőket (ideértve azt is, hogy nem hiányzik-e kö-zülük). Az első célhoz ellenőrző összegeket, amásodikhoz sorszámot célszerű a blokkban el-helyezni még a kódolás előtt.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
217. dia
217
A digitális kézjegyarra szolgál, hogy segítségével a címzettmegbizonyosodhassék egy üzenet feladójárólés bizonyíthassa, hogy az illetőtől kapott ilyenüzenetet. Olyasmire van szükség tehát mint azaláírás, ami könnyen azonosítható, de nehezenhamisítható.
A cél elérhető úgy is, hogy a kényes kommu-nikációt egy hitelesítő központ közbeiktatá-sával végezzük (mintha tanú előtt beszélnénk)ez az u.n. nem valódi digitális kézkegy.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
218. dia
218
A valódi digitális kézjegy
Ehhez egy nyilvános kulcsú kódolási rendszerlehet felhasználni, mégpedig olyant, mely"megfordítható", azaz E(D(x)) = x (az álta-lunk említett módszerek ilyenek). Rejtsünk atitkos fejtő kulccsal (és fejtsünk a nyílt rejtőkulccsal). A címzett, ha a nyílt kulccsalfejthető üzenetet kap, biztos lehet abban, hogyazt csak a titkos kulcsot ismerő feladóküldhette. Mivel a címzett nem ismeri a titkoskulcsot, ha rendelkezik az üzenetnek a nyíltkulccsal megfejthető kódolt változatával,nyilvánvaló, hogy azt ő nem készíthette.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
219. dia
219
Továbbfejlesztett modellek
1. Az EER modell.2. Nested Relational Model. 3. Structural Data Model.4. Objektum-orientált adatbázisok.5. Deduktív adatbázisok.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
220. dia
220
Az EER modell
Subclass, superclass bevezetése.(Közös tulajdonságok, kapcsolatok leírása.)
A hierarchiában a superclass tulajdonságai öröklődnek (inheritance).
Relációkkal megvalósítható.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
221. dia
221
Az EER modell felosztása
1. A subclass lehet attribútum által meghatározott, vagy felhasználó által definiált.2. A felosztás lehet diszjunkt (disjoint), vagy átfedő (overlap). 3.) Ugyancsak lehet a felosztás teljes (complett) vagy részleges (partial).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
222. dia
222
Példa EER modellre
Japán Sport Diesel
AUTÓ
Subclasses
Superclass
A subclass-ok nem diszjunktak, a felosztás részleges!
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
223. dia
223
Az EER modell használata
1.) SpecializációMegkeressük az egy-egy csoportra jellemző tulajdonságokat.2.) Generalizáció.Megkeressük a közös tulajdonságokat.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
224. dia
224
Példa Specializációra
Mérnök Technikus Szakm.
Munkavállaló
Subclasses
Superclass
Havidíjas Órabéres Darabbéres
Munkavállaló
Subclasses
Superclass
Lehet több szempont szerint is:
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
225. dia
225
Példa Generalizációra
Autó Kerékpár Motork.
Jármű
Subclasses
Superclass
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
226. dia
226
Kategória
Rt. Személy Kft.
Tulajdonos
Kategória az a subclass, melynek több superclass-a van.Itt az öröklés szelektív lehet.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
227. dia
227
Nested Relational Model
Nem 1NF, ezért nevezik N1NF modellnek is.
Onév OvezOszám
Gynév Gykor
OcímDnév
Gyerekek
Dolgozó
Egy osztály sémája
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
228. dia
228
Structural Data Model 1.
Az eredeti relációs modell továbbfejlesztése.
Két típus:1.) Relations2.) Connections
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
229. dia
229
Structural Data Model 2.
Relations1.) Primary: nem kapcsolódik hozzá semmi.2.) Referenced: kapcsolódik hozzá reláció.3.) Nest: többértékű attribútumot tartalmaz.4.) Association: M:N kapcsolatot reprezentál.5.) Lexicon: egy az egyhez kapcsolat az
attribútumok között.6.) Subrelation: csak egy másikkal együtt van
értelme.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
230. dia
230
Structural Data Model 3.
Connections1.) Ownership: tulajdonos és a hozzátartozó
nest, vagy association reláció között. 2.) Reference: referenced relations-ok között.3.) Identity: reláció és subrelation között, azaz ahol a primary key és a foreign key azonos.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
231. dia
231
Komplex típusok
1. kollekciók (collections)set-ek (többértékű tulajdonságok)tömbökmultiset-ek (többszörös előfordulás)
2. struktúrált típusoktípusdeklarációktípusokhoz kötött metódusok
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
232. dia
232
OODB 1.
Az ötlet az OOP alapján keletkezett.Jellegzetességek:1.) Az objektumosztályok perzisztensek.2.) Az objektumosztályok osztottak.3.) Minden objektumnak külön azonosítója
(OID) van (nem azonos a kulccsal, az kü-lönbözhet relációnként).
4.) Megengedettek a bonyolult objektumok (pl. egy objektumon belüli több reláció, stb.).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
233. dia
233
OODB 2.
EncapsulationAz értékeket u.n. instance variable-ok tartalmaz-zák. ez hasonlít az attributum –hoz, de kívülről rendszerint nem látható, csak az előre definiált operációk férhetnek hozzá (metódus).Egy operációnak két része van:1.)Signature, vagy interface: a név és a paramé-
terek.2.)Method, vagy body: az implementáció.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
234. dia
234
OODB 3.Inheritance, polymorphismA szokásos. Érdekes az operátorok polimorfizmu-
sa, azaz az a tulajdonság, hogy egy operátor név-hez többféle implementáció tartozhat az objek-tum típu-sától függően (másnéven operator overloading. Kell hozzá a late binding!).
KapcsolatokAz encapsulation miatt nehézségek adódhatnak.1. Kapcsolatot kereső metódusok.2. References:az objektum tartalmazza a kapcsolt
objektumok OID-jét.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
235. dia
235
Az O2 adatdefiniálás I.
A séma objektum típusokat és osztályokat definiál. Az objektum típusokat az u.n. atomi típusok használatával és az O2 típus konstruktorok alkalmazásával definiálhatjuk.
Atomi típusok: Boolean, character, integer,real, string és bits.
A típus konstruktorok: tuple, list, set, unique set.Az O2 metódusok nem részei a típus definíciónak.Az osztály definíció két részből áll:típus és metódus
megadásból.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
236. dia
236
O2 adatdefiniálás II.
A Különbség van az O2-ben értékek (value) és objektumok között.
Az értéknek csak típusa van, és önmagát reprezentálja.
Az objektum egy osztályhoz tartozik és így van egy típusa és vannak metódusai, melyeket az osztály határoz meg.
Mind az értékek, mind az objektumok komplex típusúak, és ezek lehetnek értékek, vagy lehetnek hivatkozások más objektumokra az OID használatával.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
237. dia
237
O2 adatdefiniálás III.
Az O2-nek van egy saját nyelve az O2C, ezen lehet definiálni osztályokat, metódusokat, típusokat, továbbá létrehozni (create) objektumokat és értékeket.
Az objektumok lehetnek perzisztensek (állandóan tárolva vannak az adatbázisban) és tranziensek (csak egy program végrehajtása alatt léteznek), az értékek tranziensek, (hacsak nem részei egy perzisztens objektumnak).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
238. dia
238
O2 adatdefiniálás példa
type telefon: tuple (körzetszám: integer,telefonszám: integer);
class személy: type tuple( név: tuple (vezetéknév:string,
keresztnév:string),szülinap: Date,
...method kor:integer
end
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
239. dia
239
Az O2 adatmanipulálás
Adatmanipulálási lehetőségek:• az O2SQL lekérdező- és az O2C program nyelv,• beágyazott pl. C++-ba.
Fejlesztő környezetek: • O2Look (interface O2C-hez),• O2Tools (grafikus fejlesztői környezet).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
240. dia
240
Az Objectstore rendszer
A C++ nyelvhez készült, annak objektum deklarációs utasításait használja.
Adatmanipuláláshoz is a C++-t használhatjuk, de van grafikus interface is.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
241. dia
241
Az OQL
Object Query Language
Egy objektum orientált nyelv kiterjesztésének fogható fel.
Az SQL funkcióinak megfelelő, de azokkal nem teljesen megegyező utasításokat tartalmaz.
A lényeg az objektum, a reláció fogalma ehhez képest másodlagos.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
242. dia
242
Object-Relational DatabasesSQL3 (SQL1999)
OODB használatára készült szabvány.A lényeg a reláció, az objektum fogalma
ehhez képest másodlagos.
Felűlről kompatibilis a korábbi SQL szabványokkal.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
243. dia
243
Új lehetőségek
• Felhasználó által definiált típusok• Táblák közötti öröklés• Típus konstruktorok• Felhasználó által definiált eljárások és
függvények• Nagy objektumok kezelésének támogatása
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
244. dia
244
Felhasználó által definiált típusok
• Abstract Data Type (ADT)• Row Type• Collection Types
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
245. dia
245
Abstract Data Type (ADT) I.
Attribútumok és operációk egy entitásban.Az attribútumok lehetnek „stored” és „virtual”
típusúak.A „stored attribute”egy attribútum név és egy
adattípus segítségével adható meg (az adattípus maga is lehet ADT). Ehhez automatikusan tartozik egy get és egy set metódus.
A „virtual attribute”esetén az értéket egy függvény adja meg.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
246. dia
246
Abstract Data Type (ADT) II.
Az operációk rutinokként tárolódnak.Az ADT lehet „subtype”-ja egy „supertype”-nak,
mely örökli annak tulajdonságait (Többszörös öröklés is megengedett).
Egy ADT perzisztensen csak táblák oszlopaiként tárolható.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
247. dia
247
Row Type
Mezőnév/Adattípus párokból áll.Egy változóban tárolható, így lehet egy rutin
argumentuma, ill. egy függvény által visszaadott érték.
Lehet neve(Named Row Type).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
248. dia
248
Collection Types
Halmazok, listák, multihalmazok definiálhatóak.A táblák oszlopaiban ezek is tárolhatók.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
249. dia
249
Táblák közötti öröklés
Egy tábla lehet „subtable”-ja egy „supertable”-nak, mely örökli annak tulajdonságait, de természetesen definiálhatók benne új oszlopok is.
(Független az ADT „subtype” tulajdonságától!)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
250. dia
250
Egységbe zárás
Az ADT minden attribútuma és metódusa lehetPublic (azaz minden megfelelő jogosítvánnyal
rendelkező felhasználó számára látható),Private (azaz csak az ADT-n belül látható),Protected (azaz az ADT-n és annak leszármazottain
belül látható).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
251. dia
251
Öröklés
Az ADT-nál „supertype” , „subtype” , között.Tábláknál „supertable” és „subtable” között.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
252. dia
252
Többalakúság
Az ADT „subtype”-ban a metódusok újradefiniálhatók (létezik az „overloading).
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
253. dia
253
Műveletek
Az SQL3-ban a „hagyományos” programozás műveletei is használhatóak:
• Értékadás • CALL, RETURN• CASE• IF, THEN, ELSE, ELSEIF• LOOP, WHILE REPEAT
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
254. dia
254
Deduktív adatbázisok
A logikai programozás eszközeivel dolgozik.Deklaratív nyelvet (pl. PROLOG PROgramming in LOGic) használ. ezen írja le atényeket és a szabályokat, a már ismert tények és szabályok felhasználásával juthatunk új tényekhez.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
255. dia
255
Családfa
III. Béla
Imre II. Endre
IV. Béla
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
256. dia
256
Tények, szabályok
A PROLOG-ban tények és ha…akkor típusú szabályok vannak
Tények:apja(Béla3,Imre)
apja(Béla3,Endre2)
apja(Endre2,Béla4)
Szabály:Ha apja(X,Z) és apja(Z,Y) akkor nagyapja(X,Y)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
257. dia
257
Kiegészítendő kérdés
Ki a nagyapja IV. Bélának?
?nagyapja(X,Béla4)
Válasz: X = Béla3
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
258. dia
258
Eldöntendő kérdés
Nagyapja II, Béla IV. Bélának?
?nagyapja(Béla2,Béla4)
Válasz: igen
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
259. dia
259
Kiegészítendő kérdés
Kik vannak nagyapa-unoka viszonyban?
?nagyapja(X,Y)
Válasz: X = Béla3, Y = Béla4
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
260. dia
260
Végrehajtási mechanizmus
Mintaillesztés:Két kifejezés akkor illeszthető, ha a bennük szereplő változókhoz találunk olyan helyettesítést, amelyek a két kifejezést közös formára hozzák.Visszalépéses keresés.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
261. dia
261
A végrehajtás menete
Nagyapja(X,Y)
X= Béla4 X = Imre X=Endre2 X=Béla3 X=Béla3
Nem apa Nem apa Fia Béla4 Fia Imre Fia Endre2Zsákutca Zsákutca
Nem apa Nem apa Fia Béla4Zsákutca Zsákutca
Y=Béla4
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
262. dia
262
A PROLOG előnyei
Jól olvasható.Könnyen módosítható.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
263. dia
263
A PROLOG hátrányai
Nem tudja a bizonytalanságot kezelni.Hiányos ismereteket nem tud kezelni.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
264. dia
264
Hagyományos igények
OLTP (On Line Transaction Processing):- az ábrázolt mini világ minden adatát
tartalmazza- az utolsó állapotot mutatja- sok adatmódosítás- egy-egy tranzakció kevés adatot érint- viszonylag egyszerű, de ad hoc kérdé-
sekre is tud válaszolni- a válaszidő kicsi - jellemző több, párhuzamosan működő
felhasználó
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
265. dia
265
Új igények
1. Adatfolyamok feldolgozása.
2. Előre elkészített, aggregált adatok a vezetőknek: DSS (Decision Support System).
3. Nem ismert összefüggések kiderítése:Tudásfeltárás (Data Mining, adatbányászat)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
266. dia
266
Adatfolyamok feldolgozása I.
Pl. szenzorok állandóan tömegével generálnak adatokat, ezeket nem tároljuk mind le, de kérdéseink lehetnek.
Forgalom figyelés: hálózati, banki, közlekedési,stb.
Naplózás: meteorológiai, egézségügyi, ipari, stb.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
267. dia
267
Adatfolyamok feldolgozása II.
Új eszközök (részben az SQL kiterjesztésével)
Stanford University: CQL (Continuus Query Language)
Cornell University:COUGAR
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
268. dia
268
Adatfolyamok feldolgozása III.
1. Az ilyen kérdések hosszú ideig működnek.2. Sokszor a megválaszoláshoz hagyományos adatbázis is kell.
Probléma: hogyan kezeljük az adatbázis adatainak változását?
(Pl. kereskedelmio forgalom vizsgálata, de az árak és az ügyfelek címei hagyományos
adatbázisban.)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
269. dia
269
DSS (Decision Support System)
OLAP (On Line Analitical Processing)
Megoldásai:ROLAPMOLAP
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
270. dia
270
OLAP- nem feltétlenül egészen up-to-date- csak az elemzéshez szükséges adatokat
tartalmazza, ezek azonban több mini világból származnak
- tartalmazza a régi adatokat (trendek)- jellemzően olvas, de bonyolult elemzéseket végez- a válaszidő nem kritikus- látványos riportok, ezek könnyen elérhetőek
(intra- internet, wap, sms, stb.)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
271. dia
271
ROLAP
Relational On Line Analitical Processing:
a jól ismert és bevált relációs eszközöket használja, ezek azonban nem erre a célra készültek.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
272. dia
272
MOLAPMultidimensional On Line Analitical Processing:
Az adatokat egy többdimenziós kockában tárolja. Könnyű megvizsgálni egy kiválasztott élnek a többitől való függését.- lassan kiépíthető, hardware igényes rendszer- gyorsan ad választ a várt kérdésekre.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
273. dia
273
Adatbázisok összekapcsolása
AdatbI.
AdatbVI.
AdatbV.
AdatbIV.
AdatbIII.
AdatbII.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
274. dia
274
Data Warehouse: Adattárház
Bill Inmon:„Az adattárház rendszer egy témaorientált, integrált, nem változó, idővariáns adatrendszernek tekinthető, melynek elsődleges célja a stratégiai döntések támogatása.”
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
275. dia
275
Témaorientált
A döntéshozó számára válogatott, csoportosítottadatokkal dolgozik, nem a nyilvántartás kulcsai (Pl. ügyiratszám, stb.) alapján.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
276. dia
276
Integrált
Több adatbázisból származó adatok jelölése, mértékegysége, stb. egységesítésre kerül.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
277. dia
277
Nem változó
A már bekerült adatok nem törlődnek, nem változnak.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
278. dia
278
Idővariáns
Az adatokhoz hozzátartozik a keletkezési idő is.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
279. dia
279
Adatrendszer
Struktúrált rendszer:több szint, pl. összesítés foka szerint, stb.Metaadatok is.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
280. dia
280
Metaadatok
Mikor töltődött le,honnan, hogyan,mi a mértékagysége,milyen módon számították,hozzáférési jogosultságok,stb.Metaadatok a felhasználás során is keletkezhetnek (pl. a felhasználás folyamán keletkezett információk)!
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
281. dia
281
Adattárház létrehozása
AdatbII.
AdatbIII.
AdatbI.
KinyerőI.
KinyerőII.
KinyerőIII.
Adattárház
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
282. dia
282
Kinyerők feladatai
Adatelérés,szűrés,ellenőrzés,transzformáció,stb.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
283. dia
283
Adattárház használata
Jelentés készítés OLAP Adatbányászat
Adattárház
…
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
284. dia
284
Data Marts: Adatpiacok
AB 1.
AB n.
Operatív adatok
AP 1.
AP n.
Adattárház
Adatpiacok
. . .. . .
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
285. dia
285
Adatpiacok: definíciók
1. Az adatpiac az adattárház egyik fontos komponense, egy, kiválasztott tárgyaknak osztályhoz kötött részhalmaza.
2. Az adatpiac egy alkalmazás-központú adattárház, a teljes adattárház egy része.
3. Az adattárház nem más, mint adatpiacok összessége.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
286. dia
286
Adatpiacok: előnyök1. Adatkezelés: minden osztály maga állapíthatja meg az általa használt adatok struktúráját.2. Relevancia: egy-egy osztály eldöntheti, hogy a historikus adatokból menynyire van szükség.3.Önálló felhasználás: minden osztály maga döntheti el, mikor , milyen folyamatot futtat.4. Hatékonyság: a kisebb egységek kezelése olcsóbb.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
287. dia
287
Adatpiacok: egyéb tulajdonságok
Különféle célokra sok adatpiac építhető ki egy adattárház ból, ezek akár átfedőek is le-hetnek.
Egymástól függetlenül kiépült adatpiacok egy hálózatban egy virtuális adattárházat alkothatnak.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
288. dia
288
Tudásfeltárás
Definíció:rejtett, ismeretlen, potenciálisan hasznos tudás kinyerése az adatokból nem triviális módon.
Több tudományágat átfogó kutatási terület.
Adatbányászat: az adatok összefüggéseinek feltárása.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
289. dia
289
Lépések
• adatkiválasztás• adattisztítás• bővítés• szűkítés• kódolás• adatbányászat• jelentéskészítés
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
290. dia
290
Minta feladat
Egy kiadó magazinokat árul.Kapcsolatokat keresünk az előfizetők tulajdonságai és előfizetési szokásai között.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
291. dia
291
Adatkiválasztás
Kiválasztjuk a szükséges adatokat az operatív adatbázisokból.
Pl.ügyfélszámnévcímelőfizetési dátummagazin neve
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
292. dia
292
Tisztítás
• Véletlen kettőződések• Név elírások (Kotsis, Kocsis, Kotsits)• Kitöltés hiánya (alapértelmezés)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
293. dia
293
Bővítés
Hozzáveszünk újabb adatokat:születési időjövedelemvan-e autójavan-e házastb.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
294. dia
294
Szűkítés
Kihagyhatunk sorokat:pl. nincs kitöltve (?)
Kihagyhatunk oszlopokat:pl. a név nem kell már (a tisztításhoz kellett!)
Jól meggondolni, mert elveszíthetünk fontos információkat!
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
295. dia
295
Kódolás
Főként, ha az adat „túl részletes.
Pl.Születési dátum helyett: korkategóriaCím helyett: régió kódElőfizetés kezdete helyett: időtartam hónapokbanJövedelem helyett: ezerrel(?) osztvastb.
Alapvetően befolyásolhatja az eredményt!
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
296. dia
296
Adatbányászat
Sokféle technika lehet, néhány ezek közül:
hagyományos lekérdező eszközökstatisztikai technikákvizuális technikákhasonlóság, távolság, szomszédságdöntési fáktársító szabályokstb.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
297. dia
297
Hagyományos lekérdező eszközök
Egyszerű lekérdezések: pl. átlagszámítások.
Ezek szabhatják meg a további lépéseket!
(Pl. ha egy magazint 10 % vásárol, egy „90%-osan jó” módszer azt mondhatja, hogy ez nem kell senkinek!)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
298. dia
298
Statisztikai technikák
Összefüggéseket keresünk:kor és vásárolt magazinkét magazint vásárlók tulajdonságaistb.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
299. dia
299
Vigyázat! I.
Csak az olyan összefüggés nyereség, ami nem triviális: Pl. nem meglepő, ha egy konkrét újságnál is ugyanazt az eloszlást tapasztaljuk a vásárlók életkora szerint, ami általában igaz.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
300. dia
300
Vigyázat! II.
Estleg a statisztikában mutatkozik olyan halmaz, aki semmilyen magazinra sem fizet elő. Ez adatszennyeződés, érdemes megvizsgálni, mi lehet az oka.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
301. dia
301
Vizuális technikák
Mivel nem tudjuk mit keresünk, segíthet, ha a számítógép ábrázoljuk a különféle eloszlásokat, esetleg időben változva. Érdekes összefüggéseket vehetünk észre.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
302. dia
302
Hasonlóság és távolság
A rekordokat tekinthetjük egy n dimenziós tér pontjainak. Közöttük lehet távolságot definiálni. (Legegyszerűbb az euklideszi távolság:
________________
(x1-y1)2+. . . (xn-yn)2
Érdekes csoportokat találhatunk.Kérdés: hány dimenziót vizsgáljunk?(És melyek legyenek azok?) Projekció!
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
303. dia
303
Megjegyzés
Az OLAP eszközök is ilyenek, használhatóak is az adatbányászatban, de azok rögzített kérdésekre adnak választ.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
304. dia
304
Vigyázat!
A távolság numerikus értékét meghatározza a kódolás!Pl.: a jövedelem nagyságrendje más, mint a koré: a fontossága is más lesz!
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
305. dia
305
Szomszédság
A k db. legközelebbi szomszéd viselkedése adhat előrejelzést a vizsgált objektum viselkedésére.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
306. dia
306
Vigyázat!
A túl egyenletes eloszlásnál nem mond semmit, nincsenek jellegzetes osztályok.
Túl sok dimenzió esetén nem lesznek jellegzetes osztályok.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
307. dia
307
Cluster elemzés
Osztályokba soroljuk a hasonló elemeket.Az emberi gondolkodás alapeleme.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
308. dia
308
Adatmátrix
X11 ……… X1f ………..X1p
.
.Xi1 ……… Xif ………..Xip
.
.Xn1 ……… Xnf ………..Xnp
A relációs tábla is ilyen
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
309. dia
309
Különbözőségi mátrix
0d(2,1) 0d(3,1) d(3,1) 0..d(n,1) d(n,2) …… 0
d(i,j) annál kisebb, minél hasonlóbbak az elemek.Ez lehet a cluster-be sorolás alapja.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
310. dia
310
A távolság tulajdonságai
d(x,y) ≥ 0d(x,x) = 0d(x,y) = d(y,x) d(x,y) ≤ d(x,z) + d(z,y)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
311. dia
311
Standardizálás
Kiszámoljuk az átlagos abszolút eltérést:si = (1/n)(│x1i-mi │+. . . │xni-mi │)aholmi = (1/n)(x1i+. . . xni)
A standardizált u.n. z érték:zi = (xi - mi )/si
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
312. dia
312
Távolság típusok
A változó típusától függ.
Intervallum változók: numerikus értékekBináris változókFelsorolás típusú változókVegyes típusú változók
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
313. dia
313
Numerikus értékek
Euklideszi távolság:
d(x,y) = (x1-y1)2+. . . (xn-yn)2
Manhattan távolság:d(x,y) = │x1-y1 │+. . . │xn-yn │Minkowski távolság:d(x,y) = (│ x1-y1 │q+. . . │ xn-yn │ q)1/q
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
314. dia
314
Súlyozás
Euklideszi távolság esetén:
D(x,y) = w1(x1-y1)2+. . . wn(xn-yn)2
Hasonlóan lehet Manhattan és a Minkowski távolságra is.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
315. dia
315
Bináris változók
j elem Összesen0 1
0 a c a+ci elem
1 b d b+d
Összesen a+b c+d n
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
316. dia
316
Szimmetrikus bináris változók
b + cn
d(i,j) =
Ha azonos értékű a két állapot
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
317. dia
317
Aszimmetrikus bináris változók
Ha az 1 érték fontosabb (Jaccard tényező)
d(i,j) = b + cb +c + d
A mindkét helyen 0 értéket figyelmen kívül hagyjuk.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
318. dia
318
Felsorolás típusú változók
Több, de adott számú állapot.
d(i,j) =n - m
n
Ahol m egyező van az n közül.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
319. dia
319
Vegyes típusú változók
Átlagot lehet számítani, de csak azokat az összetevőket szabad figyelembe venni, melyek mind a két elemnél megvannak!
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
320. dia
320
Cluster készítő algoritmusok
Particionáló módszerekHierarchikus módszerekSűrüségen alapuló módszerekRács alapú módszerekModell alapú módszerek
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
321. dia
321
Particionáló módszerekk-átlag módszer
Ha k cluster-t akar, először kiválaszt k elemet, ezek lesznek a clusterek középpontjai.A fennmaradó elemek mindegyikét abba a cluster-be tesszük, amihez leginkább hasonló.Újra számoljuk a középpontokat (átlagokat).Újra meghatározzuk az elemek helyét, amíg változás van.Érzékeny a kiugró értékekre.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
322. dia
322
Particionáló módszerekk-medoid módszer
Hasonlít az előzőhöz de a cluster középpontja egy elem (ez a medoid), mely legközelebb van az átlaghoz.A kiugró értékekre kevésbé érzékeny.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
323. dia
323
Hierarchikus módszerek
Cluster-ekből álló fákba csoportosítja az elemeket.Egyesítő: alulról felfelé.Felosztó: fentről lefelé.A kész felosztás nem javítható.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
324. dia
324
Sűrűségen alapuló módszerek
A sűrű területek lesznek a cluster-ek, közöttük zajokat tartalmazó ritka területekkel.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
325. dia
325
Rács alapú módszerek
A teret egy ráccsal osztja fel, ezek lesznek a clusterek.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
326. dia
326
Modell alapú módszerek
Egy modell (nem létező elem) a cluster középpontja, a többit ehhez hasonlítja.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
327. dia
327
Web-es adatok I.
Strukturált adatok: minden adat a pontosan megadott séma szerint van ábrázolva. Kezelés a hagyományos módon: pl. SQL.Strukturálatlan adatok: pl. szövegek.Nehezen kezelhetőek.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
328. dia
328
Web-es adatok II.
A részben strukturált adatok (semistructured data): az egyedekhez különböző tulajdonságok tartozhatnak.Hogy mégis kezelhető legyen, ezt le kell írni, azaz a leírás (séma) és az adatok keverednek.Nevezik önleíró (self-describing) adatoknak is ezeket.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
329. dia
329
Dokumentumok a WEB-en
Dokumentumok kezelésére való nyelvek:
Standard Generalized Markup Language (SGML)
Hyper-Text Markup Language (HTML)
Extensible Markup Language (XML)
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
330. dia
330
Elemek I.
Mindegyik u.n. tag-ekből áll (elemek):<tagnév> tartalom </tagnév>Az XML esetében a tag-ek készlete nem előre definiált (mint pl. a HTML-nél).A tag-ek egymásba ágyazhatóak.Foglalt karakterek:< > & ” ’Egyébként tetszőleges Unicode karakter használható.Megjegyzés: <! és -> között lehet, tartalama szabad, de a – stringnem megengedett.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
331. dia
331
Strukturált adatok
Ha az elemek rövid adatelemek, és a struktúra szigorú, akkor így leírható egy strukturált szerkezet: pl. a Könyv entitás attribútumai legyenek a szerző vezeték és keresztneve, valamint a könyv címe:
<KÖNYV><SZERZŐ>
<VEZNÉV>Arany </VEZNÉV><KERNÉV>János</KERNÉV>
</SZERZŐ><CÍM> Toldi</CÍM>
</KÖNYV>
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
332. dia
332
Részben strukturált adatok .
Leírhatók gráffal is (hierarchikus struktúra):Könyvtár
KönyvKönyv
Szerkesztő Téma Szerző Fordító Cím
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
333. dia
333
Jól formázott dokumentumok
1. A dokumentum egy XML deklarációval kell kezdődjék.2. A gyökér elem (az összes többit tartalmazó)kell legyen a kezdő
elem.3. A dokumentum helyesen felépített kell legyen, azaz egy elem
kezdő és befejező része ugyanabban a befogadó elemben kell legyen.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
334. dia
334
Nyelvleírás
Mivel a tag-ek készlete nem definiált, le kell írni azt.
DTD (Document Type Declarations)Egy, az XML nyelvtanát leíró metanyelven.
XML schemaAz XML szintaktikának megfelelő módon.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
335. dia
335
DTD-k
Elem előfordulások:optional multivalued (*): 0 vagy több előfordulás,required multivalued (+): 1 vagy több előfordulás,optional single-valued (?): 0 vagy 1 előfordulás,required single-valued: pontosan 1 előfordulás,e1|e2: akár e1, akár e2 előfordulhat.
Elem típusok:(elem): gyermeke egy korábbi elemnek,#PCDATA (parsed haracter data): levélelem.
Az elemek egymásba zárása zárójelezéssel is megadható.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
336. dia
336
AttribútumokAz elemeknek lehetnek attribútumaik, melyek információkat adnak az elemekről pl. a könyv témájáról, formájáról.(Ez nem azonos a korábban használt attribútum fogalommal!)pl. a tag nevű tag att nevű attribútuma legyen valami:<tag att = ”valami”
<KÖNYV MŰFAJ =”vers”><SZERZŐ>
<VEZNÉV>Arany </VEZNÉV><KERNÉV>János</KERNÉV>
</SZERZŐ><CÍM> Toldi</CÍM>
</KÖNYV>
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
337. dia
337
XML és Relációs AB
XML adatbázis tárolható egy relációsban:1. Az egész dokumentum text-ként.
A kereséshez külön feldolgozás kell.2. Átalakítva az elemeket a relációs adtabázis egyedeivé.3. Speciális indexeléssel, a hierarchikus elrendezés szerint
A relációst szét kell bontani hierarchikus részekre.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
338. dia
338
XML adatbázis lekérdezése
XPATH Olyan elemkészletet ad vissza, ami megfelel a kérdésben leírt mintának.
XQUERYFLRW kifejezések:FOR elemek megadása (pl. XML dokumentum)LET elemgyűjtemények megadása WHERE feltételRETURN a kért eredmény leírása
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
339. dia
339
XML tulajdonságok
Hátrány:A tárolás nem hatékony (a tag nevek sokszor előfordulnak).
Előnyök:1. Öndokumentáló2. A forma rugalmas (ha valaki új tag-eket iktat be, a többiek
figyelmen kívül hagyhatják).3. Az XML forma széles körben elfogadott, sok alkalmazás
van a kezelésére.
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
340. dia
340
Legújabb problémák
Nagyon sok a rendelkezésre álló adat:a hálózat maga egy strukturálatlan adatbázis.Válogatás kell (felesleges másolat, elektronikus szemét).Keresés (általában túl primitív, sok találat).Ügynök (agent) programok (barátságos, barátságtalan).Kiszolgáltatottság!
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
341. dia
341
Vége
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________