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