Adatbá Adatbázis rendszerek I Adatkezelé Adatkezelés és adatbá adatbázis kezelé kezelés alapfogalmai
MEME- GEIAL
Dr. Ková Kovács
Lá László szló
Excel adatkezelé adatkezelés alapjai Excel VBA program egysé egységek Program egysé egységek: Module function f() as tip f = end function sub n() …. end sub Paramé Paraméter átadá tadás : ByVal x as tip, ByRef x as tip Modul komponensek: deklará deklaráció ció + definí definíció ció Modul tí típusok : normá normál + osztá osztály
Excel adatkezelé adatkezelés alapjai Excel VBA esemé esemény kezelé kezelés WorkBook esemé események: (IDE Thisworkbook) - workbook_open - workbook_activate Worksheet esemé események: (IDE Munka1) -
activate change beforedoubleclick
Esemé Események lá láncolata – lokalitá lokalitás elve
Target object Cancel object
Excel adatkezelé adatkezelés alapjai vezé vezérlé rlési elemek:
for i =e to v next i for each x in h next do while f loop do until f loop do loop while f
Taxatí Taxatív Iteratí Iteratív Elő Elől tesztelő tesztelő Hátul tesztelő tesztelő
Excel adatkezelé adatkezelés alapjai Excel VBA adatkezelé adatkezelés modell Rutin,modul szintű szintű: változó ltozó sajá saját osztá osztály TempTemp-Perzisztens: Application Workbook Worksheet Range Cells Perzisztens: textfile adatbá adatbázis
forr: Kovalcsik Gé Géza, Excel programozá programozása
Application.Workbooks(1).ActiveSheet.Range(‘…’ Application.Workbooks(1).ActiveSheet.Range(‘…’).Font.Size ‘…’).Font.Size
Excel adatkezelé adatkezelés alapjai Excel VBA vá változó ltozó kezelé kezelés Változó ltozók kezelé kezelése Option explicit dim v as tip const v = e dim v(n1,n2,..) as tip
Látható thatóság v static v public v private v
eljá eljárás szintű szintű loká lokális eljá eljárás szintű szintű statikus module szintű szintű globá globális module szintű szintű loká lokális
Excel adatkezelé adatkezelés alapjai Objektum orientá orientáltsá ltság Új Class Module Deklará Deklaráció ció: adattagok Törzs: metó metódusok (Sub,Function) Private meret As Integer Private aktpoz As Integer ---------Private Sub Class_Initialize() End Sub Public Sub hozzaad(… hozzaad(…) Haszná Használat: Set kezelo = New C_Verem kezelo.hozzaad (Worksheets.Item(1).TextBox1.Value)
Excel adatkezelé adatkezelés alapjai Form objektumok -
commandbutton list combobox textbox label picture
Commandbutton objektum esemé események: -
click dblclick gotfocus keypress lostfocus mousedown mouseup
Excel adatkezelé adatkezelés alapjai IO elemek: x = InputBox(” InputBox(”prompt” prompt”,”felirat” felirat”,…,tipus ) x = MsgBox(” MsgBox(”szö szöveg” veg”,tipus,” ,tipus,”felirat” felirat” ) tipus : vbOKOnly, vbOkcancel,vbYesNo,.. Dir$(fnev) f_id = freefile() Open sFilenev sFilenev For Input As f_id Eof(f_id) Input f_id, sBuf Write f_id, sBuf Close f_id
Spec. Operá Operátorok:
‘
&
^
=
SET =
Excel adatkezelé adatkezelés alapjai Option explicit Private Sub CommandButton1_Click() Dim terulet As Range Dim x As Object ThisWorkbook.Worksheets(1).Select Set terulet = Range("a1", "c3") For Each x In terulet.Cells x.Value = 2 Next End Sub
Excel adatkezelé adatkezelés alapjai Hibakezelé Hibakezelési elemek:
ON ERROR mű művelet RESUME On Error GoTo ErrHandler: Worksheets("NewSheet").Activate Exit Sub ErrHandler: If Err.Number = 9 Then ' sheet does not exist, so create it Worksheets.Add.Name = "NewSheet" ' go back to the line of code that caused the problem Resume End If A 2012-es verziótól van TRY … CATCH szerkezet
Excel adatkezelé adatkezelés alapjai
On Error GoTo handleCancel Application.EnableCancelKey = xlErrorHandler MsgBox „hosszú hosszú művelet, megszakí megszakítás: ESC " For x = 1 To 1000000 ' törzs Next x handleCancel: If Err = 18 Then MsgBox ”Megszakí Megszakítva" tva" End If
Adatkezelé Adatkezelés kö követelmé vetelményei Az Excel adatkezelé adatkezelése nem tá támogatja az alá alábbi funkció funkciókat: Nagy adatmennyisé adatmennyiség kezelé kezelése Dinamikus adatmennyisé adatmennyiség Kapcsolatok nyilvá nyilvántartá ntartása Megszorí Megszorítások kezelé kezelése Adatvé Adatvédelem Haté Hatékony leké lekérdezé rdezés Nyí Nyílt kapcsoló kapcsolódási felü felület Párhuzamos hozzá hozzáférés GEIAL Kovács László
Adatbá Adatbázis fogalma Olyan adatkezelő adatkezelő kell, ami minden igé igényelt funkció funkciót biztosí biztosít Az adatbá adatbázis egy integrá integrált adatrendszer, adatrendszer, mely tö több különbö nböző egyed elő előfordulá fordulásainak adatait adatmodell szerinti struktú struktúrában, perzisztens módon tá tárolja a kapcsolat leí leíró elemek mellett a metaadatokkal együtt, melyek a haté hatékonysá konyság, metaadatokkal együ integritá integritásőrzé rzés, az adatvé adatvédelem biztosí biztosítását szolgá szolgáljá lják.
megkö megkötések kapcsolatok
adatok
jogosultsá jogosultság szerkezet
DB GEIAL Kovács László
napló napló
Adatbá Adatbáziskezelő ziskezelő fogalma Az adatrendszer megfelelő megfelelő elé eléréséről is gondoskodni kell Az adatbá adatbázis kezelő kezelő rendszer olyan programrendszer, programrendszer, Amelynek feladata az adatbá adatbázishoz tö törté rténő szabá szabályozott hozzá hozzáférés biztosí biztosítása és az adatbá adatbázis belső belső karbantartá karbantartási mű műveleteinek végrehajtá grehajtása. A DB csak a DBMSDBMS-en keresztü keresztül érhető rhető el legá legálisan
védelem
integritá integritás ellenő ellenőrzé rzés
napló naplózás optimalizá optimalizálás művelet vé végrehajtá grehajtás párhuzamos hozzá hozzáférés ellenő ellenőrzé rzés DBMS GEIAL Kovács László
Adatbá Adatbázisrendszer fogalma Az adatbá adatbázis kezelő kezelő, az adatbá adatbázis és az alkalmazó alkalmazói programok együ együttesé ttesét adatbá adatbáziszis-rendszernek nevezik
SQL/...
kliens adatbá adatbáziszis-kezelő kezelő
adatbá adatbázis GEIAL Kovács László
ANSI SPARC modell Az adatbá adatbázis logikai felé felépítése, referencia modellje Felh1 felhaszná felhasználó
Külső lső szint
tervező tervező
Fogalmi szint
programozó programozó
Fizikai szint
Felh2
Felh9 egyed
Globá Globális sé séma
Fizikai szerkezet
tábla
Index, rekord
Függetlensé ggetlenségi szintek: - logikai : a kü külső lső szint és a globá globális szint kö között - fizikai : a globá globális szint és a fizikai szint kö között - hálózati : fizikai szinten belü belül GEIAL Kovács László
DBMS funkció funkció struktú struktúrája SQL Kommuniká Kommunikáció ciós ré réteg Utasí Utasítás értelmező rtelmező Hozzá Hozzáférés ellenő ellenőrzé rzés Aktí Aktív szabá szabály ellenő ellenőrző rző Optimalizá Optimalizáló Végrehajtó grehajtó Tranzakció Tranzakció vezé vezérlő rlő Napló Naplózó modul
SELECT * FROM AUTO ORDER BY RSZ
CFG grá gráf DAC má mátrix ECA modul QOG grá gráf QEP grá gráf TM modul, zá zárolá rolás Recovery modul
IO rendszer GEIAL Kovács László
read(), read(), write() write()
Nagy adatmennyisé adatmennyiség kezelé kezelése Mit jelent a nagy adatmennyisé adatmennyiség? VLDB (www.vldb.org (www.vldb.org) www.vldb.org) :
400 GB <
kínai telefontá telefontársasá rsaság: 1TB1TB-os tá tábla 108 lap, 5 km hosszú hosszú polc
> 400 év
2005: EMC Corp. : 100 Tbyte DB, Standford : 500 TByte DB
GEIAL Kovács László
Nagy adatmennyisé adatmennyiség kezelé kezelése A fő fő problé probléma a haté hatékony keresé keresés Kívánalmak idő időben: optimá optimális vá válaszidő laszidő: < 2 s megtű megtűrt vá válaszidő laszidő:
< 20 s
Elvá Elvárások hellyel: minimá minimális redundancia szabá szabályozott redundancia
www.tpc.org GEIAL Kovács László
Adatrekord elé elérési mó módszerek A blokkolvasá blokkolvasások darabszá darabszámát optimalizá optimalizáló index Indexet ké készí szítünk az indexhez (hierarchikus index) B-fa index szerkezet kereső kereső fa , egy csomó csomópontban M elem és M+1 pointer jó helykihaszná helykihasználtsá ltság (min 50%) csomó csomóponton belü belül rendezett logM(N) szint, O(log(N)) keresé keresés
10
3 GEIAL Kovács László
5
7
8
40
12
23
60
100
Adatrekord elé elérési mó módszerek B-fa bő bővítés algoritmusa Algoritmus elve: alulró alulról felfelé felfelé építkezik ha megtelt egy csomó csomópont,lé pont,létrehoz egy új szü szülőt Algoritmus lé lépései: levé levél megkeresé megkeresése, elem beszú beszúrása a rendezett listá listába Ha megtelt a levé levél, akkor középső pső elem meghatá meghatározá rozása középső pső elem a szü szülőbe testvé testvér generá generálás elemek szé szétosztá tosztása pointerek kiigazí kiigazítása GEIAL Kovács László
Adatrekord elé elérési mó módszerek B-fa bő bővítés algoritmusa A F U D H B C O G R
GEIAL Kovács László
Adatrekord elé elérési mó módszerek Hash algoritmus alapjai Algoritmus elve: A rekord helye kö közvetlenü zvetlenül a kulcsé kulcsérté rtékbő kből hatá határozó rozódik meg A tá tároló roló terü terület blokkokra osztott, M darab blokk A hash fü függvé ggvény adja meg a blokk sorszá sorszámát, h(x)=x mod M A mó módszer jellemző jellemzői: Elvi keresé keresési kö költsé ltség: O(1) A tú túlcsordullá lcsordullás jelentő jelentős tö többletkö bbletköltsé ltséget adhat Nem stabil a kö költsé ltség, a statikus adatokra optimá optimális
GEIAL Kovács László
Adatrekord elé elérési mó módszerek Hash algoritmus alapjai 11 21 7 13
h(x) = x mod 3
4 16 8 14 9 10
GEIAL Kovács László
M=3 kapacitá kapacitás=2
Adatrekord elé elérési mó módszerek Virtuá Virtuális Hash algoritmus Hash tá tábla (csak pointerek)
Adat blokkok
Adatrekord elé elérési mó módszerek Virtuá Virtuális Hash algoritmus
A duppla hossz elő előnye: - minimá minimális átrendezé trendezési kö költsé ltség x mod N = k akkor
x mod 2N = k vagy k + N
Köszö szönöm a figyelmet!
Köszö szönöm a figyelmet!