2014.02.24.
ADATBÁZISOK, ADATTÁRHÁZAK
Adattárolás
Háttértárak
Fájlok
Fájlkezelő rendszer
2
Adattárolás Az adatok, információk bináris formában kerülnek tárolásra. Értelmezés kérdése, hogy egy bitsorozatnak milyen jelentést tulajdonítunk.
3
1
2014.02.24.
Adattípusok Bitsorozat:
00100001
Jelentése: Bináris szám:
65
Szöveg:
A
Dátum: 1900.03.05.
4
Adatszervezési alapfogalmak • Logikai adatleírás – Adatmező Jellemzői: mezőnév, típus, méret
Példa: Mezőnév:
Név
Típus:
szöveg
Méret:
40
Születési dátum
Átlag
dátum
szám 3,2 (3 jegy, amiből 2 a tizedes)
5
Adatszervezési alapfogalmak – Rekord Az összetartozó adatmezők összessége.
Példa: Kis Jolán
1992.02.03.
4,2
6
2
2014.02.24.
Adatszervezési alapfogalmak • Fájl Azonos típusú rekordok összessége. Kis Jolán
1992.02.03.
4,2
Nagy Zoltán
1991.04.06.
3,9
Tóth Mari
1992.05.15.
4,4
7
Az adatbázis fogalma
Az adatbázis együtt tárolt, egymással kapcsolatban levő adatok rendszere. Az adatok meghatározott szerkezet szerint kerülnek tárolásra, ez a szerkezet az adatbázis struktúrája.
A struktúra leírását szintén az adatbázisban tárolják, ezt az adatbázis sémájának nevezzük.
A séma leírására szolgáló adatokat metaadatoknak nevezzük. 8
Adatmodellezés
Az adatmodellezés olyan eljárás, melynek során a valós világ tényeit és összefüggéseit tükröző adatok lényeges sajátosságait és lényeges összefüggéseit emeljük ki. Eredménye az adatmodell.
Az adatbázisok mindig valamilyen adatmodellen alapulnak.
9
3
2014.02.24.
Adatmodellezés Egyed Tulajdonságok Egyedhalmaz Kulcs Kapcsolatok Megszorítások
10
Kapcsolatok
1:1 típusú kapcsolat
11
Kapcsolatok
1:N típusú kapcsolat
12
4
2014.02.24.
Kapcsolatok
N:M típusú kapcsolat
13
Megszorítások
Kulcsok Egyértékűségi megszorítások Hivatkozási-épség megszorítások Értékkészlet megszorítások Általános megszorítások
14
Adatbázis-típusok
Hierarchikus
Hálós
Relációs
15
5
2014.02.24.
Relációs adatbázisok A reláció fogalma Legyen S1, S2,..., Sn adott halmazok. R az ezen n halmaz közötti reláció, ha olyan (s1,s2,...sn) n-esekből áll, amelyek első eleme S1-ből, második eleme S2-ből, ...n. eleme Snből származik. Az S1, S2,...,Sn halmazokat a reláció tartományainak nevezzük. A relációban szereplő tartományok száma (n) adja meg a reláció fokát.
16
Relációs adatbázisok
Név
Születési dátum
(Kis Pál,
1991.01.01.,
Pécs,
4.2)
(Nagy Edit,
1989.02.02.,
Vác,
4.5)
(Zöld Zsolt,
1992.03.03.,
Göd, 3.9)
(Kék Ágnes,
1988.04.04.,
Gyır, 3.5)
Lakcím
Átlag
17
Relációs adatbázisok
Azt az adatmodellt, amely az adatok táblázatos ábrázolásán alapul, relációs adatmodellnek nevezzük. A relációs adatmodellben minden egyes reláció egy névvel ellátott táblázat.
18
6
2014.02.24.
Relációs adatbázisok Az adatmodell elemeinek megfeleltethetők a reláció elemei
Oszlopok (tartományok) – tulajdonságok
Sorok – egyedek
Táblázat - egyedhalmaz
19
Relációs adatbázisok A reláció tulajdonságai Minden cellában egyetlen érték szerepel A sorok és oszlopok sorrendje a modell szempontjából közömbös Egy relációban nem lehet két teljesen azonos sor Rendelkeznie kell kulccsal
20
Relációs adatbázisok
A táblázat struktúrájának leírása Oszlopnév Típus ○ Karakteres ○ Numerikus ○ Dátum ○ Hosszú karakteres ○ OLE, BLOB Méret Megszorítások
21
7
2014.02.24.
Relációs adatbázisok
Egyszerű kulcs egyetlen tulajdonságból áll
Összetett kulcs két, vagy több tulajdonság alkotja
22
Relációs adatbázisok
Elsődleges kulcs – az a tulajdonság, vagy tulajdonságcsoport, amelyet a tábla sorainak azonosítására használunk (a lehetséges kulcsok közül választjuk)
Idegen kulcs – egy másik tábla elsődleges kulcsa
23
Példa idegen kulcsra
A Hallgatók táblában a karkód idegen kulcs
24
8
2014.02.24.
Kapcsolatok megvalósítása a relációs adatmodellben
1:1 kapcsolat Az egyik egyedhalmazban szerepel a másik egyedhalmaz elsődleges kulcsa, és egyértékűségi megszorítás vonatkozik rá.
25
1:1 típusú kapcsolat egyetemek
rektorok
Egyetem tábla Egyetemkód
Név
Cím
Rektorkód
Kinevezés éve
SZIE
Szent István Egyetem
Gödöllő
R1254
2006
BCE
Budapesti Corvinus Egyetem
Budapest
R4215
2005
A rektorkódra egyértékűségi megszorítást kell tenni. 26
Kapcsolatok megvalósítása a relációs adatmodellben 1:N kapcsolat Abban az egyedhalmazban szerepel idegen kulcsként a másik egyedhalmaz elsődleges kulcsa, amelyik egy egyedéhez csak egy egyed kapcsolódhat a másik egyedhalmazból
27
9
2014.02.24.
1:N típusú kapcsolat általános iskolák
tanulók
Tanuló tábla Tanulókód
Név
Születési dátum
Iskolakód
T1230
Kis Pál
1998.01.01.
OM1425
T5436
Nagy Edit
1996.02.02.
OM2235 28
Kapcsolatok megvalósítása a relációs adatmodellben
N:M kapcsolat Kapcsolótáblát kell bevezetni, amelynek sorai a két egyedhalmaz összetartozó egyedeinek elsődleges kulcsát tartalmazzák. A kapcsolótábla mindkét egyedhalmazzal 1:N típusú kapcsolatban áll.
29
N:M típusú kapcsolat hallgatók
tantárgyak
Kapcsolótábla Hallgatókód
Tantárgykód
H123
T45
H123
T56
H215
T45 30
10
2014.02.24.
Normalizálás, normál formák Cél: az adatok felépítésében rejlő logikai és strukturális problémák kiszűrése
A szükségtelen redundancia megszüntetése
A legszűkebb kulcs kiválasztása
Az adatok közötti belső függések csökkentése
31
Függőségek
Függés
B
A
B1B2B3
A
32
Teljes függés B1B2B3
A
Vizsga Hallgatókód, Tárgykód, Dátum Jegy
33
11
2014.02.24.
Tranzitív függés B
C
A
Munkabér Dolgozókód, Órabér, Hónap, Óraszám, Bér • Elsődleges kulcs: Dolgozókód, Hónap • Órabér, Óraszám -> Bér
Tranzitív függés!
34
Normál formák Első normál forma Minden cellában egy elemi érték szerepel Második normál forma Minden tulajdonság az összetett kulcs teljes egészétől függ Harmadik normál forma Nem tartalmaz tranzitív függést, vagyis minden tulajdonság csak az elsődleges kulcstól függ
35
Normál formák
36
12
2014.02.24.
Normalizálási eljárás
37
Egy normalizálási feladat
RENDELÉSEK (Rendelés száma, dátuma, vevő neve, vevő kódja, vevő címe, számlaszáma, cikkszám, megnevezés, mennyiségi egység, egységár, megrendelt mennyiség, szállítási határidő)
38
Egy normalizálási feladat
RENDELÉS-1 1NF (Rendelés száma, dátuma, vevő neve, vevő kódja, vevő címe, számlaszáma)
RENDELÉS-TÉTEL (Rendelés száma, cikkszám, megnevezés, mennyiségi egység, egységár, megrendelt mennyiség, szállítási határidő) 39
13
2014.02.24.
Egy normalizálási feladat
TÉTEL-1 2NF (Rendelés száma, cikkszám, megrendelt mennyiség, szállítási határidő)
CIKK (Cikkszám, megnevezés, mennyiségi egység, egységár)
40
Egy normalizálási feladat
RENDELÉS 3NF (Rendelés száma, dátuma, vevő kódja)
VEVŐ (Vevő kódja, vevő neve, vevő címe, számlaszáma)
41
A normalizálás előnyei Kevesebb redundancia Kiküszöböli
a módosítási és a törlési anomáliákat
42
14
2014.02.24.
Relációalgebra Projekció (vetítés) Szelekció (kiválasztás) Egyesítés Metszet Összekapcsolás
Direkt szorzat Természetes összekapcsolás
43
Az információs rendszer adatai
Törzsadatok (Master data – Reference data) Az információs rendszer alapadatai. Általában egy fizikai, vagy virtuális objektumot írnak le. Értékük viszonylag állandó. Törzsadat-menedzsment (Master Data
Management – MDM) 44
Az információs rendszer adatai
Tranzakciós adat (Transaction data) Egy eseményt, tranzakciót ír le, mindig tartozik hozzá egy időérték, és hivatkozik a rendszer egy, vagy több objektumára (törzsadatára).
45
15
2014.02.24.
Az információs rendszer adatai
Törzsadatok: Termékek, Vevők Tranzakciós adatok: Rendelés, Rendelés részletei 46
Az adatbáziskezelő rendszer
Az adatbázisok speciális szerkezetű fileokból épülnek fel.
Az adatbáziskezelő rendszer egy programcsomag, amely egy bonyolult filekezelő rendszer.
47
Az adatbáziskezelő rendszer
48
16
2014.02.24.
Az adatbáziskezelő rendszer feladatai
Létrehozás
Karbantartás
Visszakeresés, feldolgozás
Adatvédelem
Szinkronizáció
49
Tranzakciókezelés
A tranzakció egy felhasználó által végzett karbantartó műveletek sorozata.
A tranzakció lezárása COMMIT – megerősítés ROLLBACK – törlés
Autocommit
50
Tranzakciókezelés
Commit
Rollback
51
17
2014.02.24.
Adatvédelem Integritás Az adatok helyességének, összefüggéseinek ellenőrzése Illetéktelen hozzáférés kizárása Felhasználói jogok Objektum jogok Fizikai védelem Mentés Tükrözés
52
Mentés
Teljes mentés Részleges mentés
53
On-line mentés Adatbázis
Teljes mentés
54
18
2014.02.24.
ORACLE - Redo Log fájlok
55
56
Tükrözés Az adatbázis több példányban létezik fizikailag más–más adathordozókon A módosítások párhuzamosan megtörténnek minden példányon
57
19
2014.02.24.
Interaktív adatbáziskezelő rendszerek
Az interaktív adatbáziskezelés egyik legnagyobb problémája az adatok olyan fizikai szervezésének kialakítása, amely nagy mennyiségű adat esetén is gyors válaszadást biztosít.
58
Az adatbázis belső szerkezete
Index készítése
59
Hallgatókód szerinti index Index-tábla
60
20
2014.02.24.
Név szerinti index Index-tábla
61
Több szintű index
62
Konkurens műveletek
Mi
történne, ha ugyanazt a sort egy időben két felhasználó módosítaná?
63
21
2014.02.24.
Konkurens műveletek
64
Konkurens műveletek
65
Konkurens műveletek
Zárolás (lock - unlock) A legkisebb zárolható egység a sor Zárolható egy tábla, vagy az egész adatbázis A zárolt sort más felhasználó olvashatja
66
22
2014.02.24.
Konkurens műveletek Patthelyzet (deadlock)
A
B Sor1 Sor2
67
Konkurens műveletek
Optimisztikus konkurenciakezelés Kódmező, amely minden visszaíráskor
megváltozik
68
Aktív elemek az adatbázisban
Működő
elemek, programok
Megszorítások ellenőrzése Triggerek – meghatározott adatmódosulások esetén működésbe lépő programok
69
23
2014.02.24.
Adatbáziskezelő rendszerek
A különböző adatbáziskezelő rendszerek különböző belső felépítésű adatbázist hoznak létre
A belső felépítés gyakran verziónként is változik
Egy adatbázist csak a saját adatbáziskezelő szoftverével (ABKR) lehet működtetni
70
Adatbáziskezelő rendszerek
Az adatbázisok átalakíthatók Egy újabb verzió által kezelt
felépítésre Esetenként másik ABKR által kezelt
felépítésre
71
Relációs adatbáziskezelő rendszerek SQL lekérdező nyelv A relációs adatbáziskezelő rendszerek
döntő többsége ezt használja ○ DDL ○ DML ○ DQL ○ TCL
Interpreter 72
24
2014.02.24.
A legelterjedtebb relációs adatbáziskezelő rendszerek
ORACLE
IBM
Oracle Database 12c (c – cloud) DB2 Informix
Microsoft SQL Server 2012 Access – felhasználói felület ○ Microsoft Jet ○ MSSQL szerver
Sybase 73
Relációs adatbáziskezelő rendszerek Fejlesztő cég Oracle IBM Microsoft
Gartrner
IDC
33,8 %
46 %
30 %
23,6 %
13,9 %
6,7 %
Piaci részesedés 2012-ben két piackutató cég becslése szerint
Gartner Inc. - Informatikai piackutató és tanácsadó cég International Data Corporation (IDC) - Piackutató és tanácsadó cég 74
Kliens–szerver architektúra
Az adatbáziskezelő rendszer a szerveren működik 75
25
2014.02.24.
Alkalmazás-szerver
76
Alkalmazás-szerver
Front-end alkalmazások A kliens gépeken futó alkalmazások ○ Egyszerű programok, alapvetően az adatbevitelt és
az adatok megjelenítését végzik
Back-end alkalmazások Az alkalmazásszerveren futó alkalmazások ○ Bonyolultabb feldolgozások
77
Osztott adatbázisok
Az osztott adatbázis: különböző adatbázis-szerverek által vezérelt adatbázisok hálózata, amely a felhasználó számára egy logikai adatbázisként jelenik meg.
78
26
2014.02.24.
Osztott adatbázisok
79
Osztott adatbázisok
80
Osztott adatbázisok
Tranzakciókezelés Két fázisú COMMIT
81
27
2014.02.24.
Internetes adatbázisok
Web-es felület
JDBC protokoll
Lehetővé vált, hogy az adatbázis és az adatbáziskezelő rendszer nem a felhasználó cég számítógépén, hanem egy szolgáltató, vagy az alkalmazást fejlesztő szoftver-ház számítógépén kerüljön elhelyezésre, ott működjön. 82
Adattárházak
OLTP (Online Transaction Processing) műveleti adatbázisok
OLAP (OnLine Analitical Processing) adattárházak
83
Adattárházak OLTP
OLAP
Aktuális állapot
Archívum
Kisebb adatmennyiség
Nagy adatmennyiség
Karbantartás
Lekérdezés
Sok rövid tranzakció
Kevesebb, hosszabb időt igénylő lekérdezések
Sok konkurens művelet
Kevés konkurens művelet
Homogén adatforrás
Heterogén adatforrás 84
28
2014.02.24.
Adattárház
Az adattárház rendszer egy témaorientált, integrált adatrendszer, melynek elsődleges célja az adatok lekérdezésének, elemzésének támogatása. Az adattárházban a különböző forrásból származó adatok egy adatmodellbe kerülnek integrálásra.
85
Adattárház
86
Adattárház Kezelő rendszerének feladatai • Adattisztítás • Betöltés, frissítés • Lekérdezések adatbányászat (data mining) o összegzés felfelé (aggregálás, drill up) o az adatok bontása lefelé (lefúrás, drill down) 87
29
2014.02.24.
Többdimenziós (multidimenzionális) adatmodell Egy 3 dimenziós modell
88
Többdimenziós (multidimenzionális) adatmodell
Szeletelés
89
Többdimenziós (multidimenzionális) adatmodell
Szeletelés
90
30
2014.02.24.
Többdimenziós adatmodell Csillag séma
91
Többdimenziós adatmodell Hópehely séma
92
Adattárházkezelő rendszerek Teradata ORACLE IBM
93
31
2014.02.24.
94
Az adatbáziskezelő rendszerek üzemeltetése Az adatbázis-felügyelő fő feladatai: • Az adatbázis kialakítása • Az adatbázis struktúrájának igény szerinti módosítása • A felhasználók segítése • Az adatok védelme – mentés, helyreállítás • Az adatbázis használatának figyelése, a hatásfok csökkenése esetén az adatbázis újraszervezése.
95
Adatbázis-felügyelő
Adatadminisztrátor az adatbázis megszervezésével és alkalmazásával kapcsolatos feladatokat látja el, konzultál a felhasználókkal
Rendszeradminisztrátor a számítógéppel kapcsolatos feladatokkal foglalkozik
96
32
2014.02.24.
Üzleti szoftverek • Ügyviteli szoftverek • Üzleti Intelligencia (BI) • Felhő technológia • Big data technológia
97
Big data technológia Nagyméretű adathalmazok hatékony kezelésére kidolgozott technológia 3V • High volume (nagy mennyiség) • High velocity (nagy sebesség) • High variety (nagy változatosság)
Big data technológia
• Osztott adatkezelés • Párhuzamos feldolgozás
33
2014.02.24.
Üzleti szoftverek •
Microsoft
•
Oracle
• SAP 100
34